
.net
文章平均质量分 90
本栏目适合想学习C#初学者。
「已注销」
这个作者很懒,什么都没留下…
展开
-
.NET 快速重构概要2
当代码中充斥着若干条件判断时,代码的真正意图会迷失于这些条件判断之中。这时我喜欢将条件判断提 取到一个易于读取的属性或方法(如果有参数)中。原创 2024-06-01 10:30:00 · 1143 阅读 · 0 评论 -
.NET 快速重构概要1
重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等。而有了重构,使用单元测试、共享代码以及更可靠的无 bug 的代码这些最佳实践就显得简单多了。原创 2024-06-01 10:15:00 · 1050 阅读 · 0 评论 -
Microsoft.NET 框架程序设计 —— 通用对象操作
对于那些没有显式重写Equals方法的类型,Obiect(或者重写了Eauals方法的最近的那个基类)(译注:-个类型的基类的“近”或“远”是针对此基类在该类型所有的基类构成的继承体系中的相对位置而言的,越靠近 Object 的类型的位置越远,反之则越近)提供的实现将被继承。如果我们定义了自己的类型,并且希望比较它们中的字段是否相等,Object类型提供的默认实现对我们来说是不够的,我们必须重写Equals方法,提供自己的实现。前面的代码展示了根据字段类型的不同,所进行的两种不同的比较方式。原创 2024-05-25 10:30:00 · 883 阅读 · 0 评论 -
Microsoft.NET 框架程序设计 —— 类型基础
本文主要介绍有关类型和通用语言运行时(CLR)的一些基础知识。特别地,我们将会讨论每个类型都具有的一组公共行为。另外,我们还会谈到类型安全、对象转型以及有关命名空间与程序集的些话题。原创 2024-05-02 21:27:09 · 904 阅读 · 0 评论 -
Microsoft.NET 框架程序设计 —— 共享程序集
文件版本是一个很难解决的问题。实际上,如果仅仅在一个文件中将其某一位从0改变到1、或者从1改变到0,我们便不能绝对保证使用原来文件的代码和它使用新版文件时的行为一样。这是因为许多应用程序都会有意或者无意地引入bug。如果一个文件的后续版本修复了一个bug,应用程序便不再如预期那样运行。这就存在一个问题:怎样在修复bug和增加特性的同时,还能保证不会损坏现有的应用程序?我曾经对这个问题思考了很久,并且得出了一个结论--那就是这是不可能的。很明显,这样的回答解决不了问题。原创 2024-05-01 23:14:28 · 1180 阅读 · 0 评论 -
Visual Source Safe 安装与使用教程
用户成员不能对该数据库中的文件进行直接的修改,而是由版本管理器将该项目的远程序或是子项目的程序拷贝到各个用户成员自己的工作目录下进行调试和修改,然后将修改后的项目文件作check 提交给 vss 来进行更新用户可以根据需要随时快速有效地共享文件,文件一旦被添加进vss,每次改动都会被记录下来,用户可以恢复文件的早期的版本源码文件,用户组也可看到其他成员的有关文档的最新版本,并对其进行修改,vss也同样会将新的改动记录下来。该模式下,只有你可以合法的编辑这文件,对这文件有最终的版本控制权。原创 2024-05-01 13:06:22 · 1448 阅读 · 1 评论 -
Microsoft.NET 框架程序设计 —— 应用程序与类型
当今的应用程序一般都包含着好几个类型。在.NET框架中,类型(type)又被称作组件(component)但本书将使用类型这个术语,而避免使用组件。通常情况下,应用程序既包括我们自己创建的类型,也包括微软和其他一些组织创建的类型。如果这些类型都采用支持CLR的语言开发,那么它们将可以无缝地在一起协作执行。我们甚至可以使用一种语言开发一个基类,然后再使用另一种语言开发它的子类。原创 2024-04-26 21:05:41 · 1310 阅读 · 0 评论 -
.NET 面向对象程序设计 —— 设计模式 详细版
到底如何去改良策略模式呢?”小菜恳切地问道。“你仔细观察过没有,你的代码,不管是用工厂模式写的,还是用策略模式写的,那个分支的 switch 依然去不掉。原因在哪里?”大鸟反问道。“因为程序里有下拉选择,用户是有选择的,那么程序就必须要根据用户的选择来决定实例化哪一个子类对象。无论是在客户端窗体类编程还是到工厂类里编程,这个 switch 总是少不掉的。问题主要出在这里。”小菜十分肯定的说。原创 2024-04-26 21:02:24 · 1339 阅读 · 0 评论 -
.NET 面向对象程序设计 —— 学习笔记 详细版
原先所写的程序,不容易维护,灵活性差,不容易扩展,更谈不上复用,因此面对需求变化,加班加点,对程序动大手术的那种无耐也就非常正常的事了。原创 2024-04-25 07:50:02 · 1148 阅读 · 0 评论 -
.NET/C#汇总 —— 数据库SQL查询(附建表语句)
⼀个叫 team 的表,⾥⾯只有⼀个字段name, ⼀共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四 个球对进⾏⽐赛,⽤⼀条sql 语句显示所有可能的⽐赛组合原创 2024-04-25 07:47:58 · 1968 阅读 · 0 评论 -
.NET/C#汇总 —— 数据库概念知识
关系是指多表在数据库中的关联。有4种关系。1对1,多对⼀,多对多,⼀对多。唯⼀标识⼀条记录,不能有重复的,不允许为空。表的外键是另⼀表的主键, 外键可以有重复的, 可以是空值。SQL(结构化查询语⾔)是⼀种设计⽤于检索和操作数据的数据库。它属于美国国家标准协会(ANSI) 的⼀种标准,可⽤于执⾏Select(选择)、Update(更新)、Delete(删除)和Insert(插⼊)等数据 任务。索引⽤于加速查询的性能。它可以更快地从表中检索数据。可以在⼀组列上创建索引。它是⼀个返回单个值的数学函数。原创 2024-04-22 08:10:21 · 1145 阅读 · 0 评论 -
.NET/C#汇总 —— 常⻅的算法
以往我们都是肯定绞尽脑汁,肯定什么循环,元素⼤⼩,什么因素都考虑进去。但是现在采⽤Linq可 以很好的解决这个问题。找出两个或多个数组的相同项。原创 2024-04-22 07:08:19 · 594 阅读 · 0 评论 -
.NET/C#汇总 —— ADO.NET、XML、HTTP、AJAX、WebService
unsafe:⾮托管代码。不经过CLR运⾏。RTTI:类型识别系统。代码后植。XML即可扩展标记语⾔。eXtensible Markup Language.标记是指计算机所能 理解的信息符号,通过此 种标记,计算机之间可以处理包含各种信息的⽂章等。如何定义这些标记,即可以选择国际通⽤的标记 语⾔,⽐如HTML,也可以使⽤象XML这样由相关⼈⼠⾃由决定的标记语⾔,这就是语⾔的可扩展性。XML是从SGML中简化修改出来的。它主要⽤到的有XML、XSL和XPath等。原创 2024-04-17 09:18:10 · 1226 阅读 · 0 评论 -
.NET/C#汇总 —— ASP.NET MVC
这个引擎提供了数据绑定的显示模板。Partial view相当于传统⽹⻚表格中的user controls.它的主要⽬的是为了重复使⽤这些视图,他们⼀般被放在⼀个共享⽂件夹⾥⾯。HTTP是最常⽤的协议。过去的很多年,浏览器是我们使⽤HTTP⽅式公开数据的⾸选客户端。但是⽇新 ⽉异,客户端发展到多种形式。我们需要使⽤HTTP⽅式传递数据给不同的客户端,例如:移动⼿机、 Javascript,Windows应⽤等等。WebAPI是⼀个通过HTTP⽅式公开数据的技术,它跟随REST规则。原创 2024-04-16 07:29:59 · 1393 阅读 · 0 评论 -
.NET/C#汇总 —— 多线程
不会发⽣死锁,(但有⼀点int是按值传递的,所以每次改变的都只是⼀个副本,因此不会出现死锁。但如果把int换做⼀个object,那么死锁会发⽣)。原创 2024-04-13 09:43:19 · 738 阅读 · 0 评论 -
.NET/C#汇总 —— 集合、异常、泛型、LINQ、委托、EF
IList 泛型接⼝是 Icollection 接⼝的⼦代,并且是所有⾮泛型列表的基接⼝。⽆法修改只读 Ilist。固定⼤⼩的 Ilist 不允许添加或移除元素,但允许修改 现有元素。是想创建⼀个List,⽽且需要使⽤到List的功能,进⾏相关操作。⽽只是想创建⼀个基于接⼝IList的对象的实例,只是这个接⼝是由List实现的。IList 是个接⼝,定义了⼀些操作⽅法这些⽅法要你⾃⼰去实现,当你只想使⽤接⼝的⽅法时,这种⽅式⽐ 较好.他不获取实现这个接⼝的类的其他⽅法和字段,有效的节省空间。原创 2024-04-13 07:14:35 · 980 阅读 · 0 评论 -
.NET/C#汇总 —— 常用的基础语法
⼀句话解释,扩展⽅法使你能够向现有类型“添加”⽅法,⽆需修改类型。条件:按扩展⽅法必须满⾜的条件,1.必须要静态类中的静态⽅法2.第⼀个参数的类型是要扩展的类型,并且需要添加this关键字以标识其为扩展⽅法。建议:通常,只在不得已的情况下才实现扩展⽅法,并谨慎的实现使⽤:不能通过类名调⽤,直接使⽤类型来调⽤。装箱就是隐式地将⼀个值类型转换成引⽤类型,如:int i=0;拆箱就是将引⽤类型转换成值类型,如:int i=0;(将obj拆箱。概念:构造函数的⽅法名与类型相同、没有返回类型。原创 2024-04-13 07:12:08 · 1344 阅读 · 0 评论 -
.NET性能优化方法 学习笔记 (详细整理版)
如果变量的定义可以被一个常量替代,就直接使用常量。原创 2024-04-13 07:11:22 · 1205 阅读 · 0 评论 -
C# 基础语法 学习笔记
泛型是 C# 推出的一个重要语法,泛型允许在编写方法或类是定义一些未确定的类型参数。它提供了类型安全且高效的数据结构和算法,同时也可以避免装箱和拆箱操作,提高代码的复用性(编程时,出现相似的模块,这加大我们的工作量,如果使用泛型可以让多个类型共享一组代码)。原创 2024-04-10 10:56:21 · 1955 阅读 · 0 评论 -
Asp.NET Core WebAPI 入门学习笔记,超详细
WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。开发人员可以使用各种属性和过滤器来处理请求、控制访问权限、验证数据等。原创 2024-04-09 07:14:45 · 10474 阅读 · 3 评论 -
C# 基础面试题(万字)
的是?原创 2023-09-04 23:45:00 · 2559 阅读 · 0 评论 -
【中间件】AutoFac 理解和使用
Blog.AutoFac.ConsoleApp:控制台应用程序代替界面层(UI),负责处理数据;Blog.AutoFac.Service:业务逻辑层(BLL),负责业务逻辑运算;Blog.AutoFac.Repository:数据访问层(DAL),负责提供数据。BlogService 在构造函数初始化 BlogRepository 对象,BlogService 实现依赖于 BlogRepository。原创 2023-04-24 00:00:00 · 883 阅读 · 0 评论 -
C# 11 新特性
文本简要介绍C# 11 (对应的是.Net 7)新增的功能。原创 2023-04-16 10:57:26 · 802 阅读 · 0 评论 -
【创作赢红包】Entity Framework 6.0 基础知识
如果 BloggingContext 继承 DbContext 类,没有做任何配置,程序会调用无参数构造函数将导致 DbContext 在 Code First 模式下运行与创建的约定的数据库连接。上述代码会默认将命名空间名称和类的名称作为数据库名称(即:EFDemo.BloggingContext),然后创建使用SQL Express 或 LocalDB 此数据库的连接字符串。一对多,表A中每一条记录在表 B 中,至少有两条数据与之对应;而表B中每一个记录,在表A中只有一条数据与之相对应。原创 2023-04-01 19:08:14 · 397 阅读 · 0 评论 -
关于每日一练:4根木棒拼接成一个三角形问题
实现4根木棒拼接成一个三角形问题。原创 2023-03-12 17:00:18 · 383 阅读 · 0 评论 -
已有数据库使用Entity Framework 6.0 Code First
现有数据库,使用 Entity Framework 6.0 代码优先开发。原创 2023-03-12 16:10:19 · 204 阅读 · 0 评论 -
Entity Framework 6.0 Code First
本文使用 Entity Framework 6.0 Code First 模式(“代码优先”模式)示例原创 2023-03-11 18:08:32 · 427 阅读 · 0 评论 -
WPF的依赖属性
WPF的依赖属性内部使用哈希表存储机制,对多个相同控件的相同属性的值都只保存一份,从而节约资源。属性系统强制转换、动画、本地值、模板属性、隐式样式、样式触发器、模板触发器、样式、继承和默认值。原创 2023-03-11 08:00:00 · 1676 阅读 · 0 评论 -
.Net使用Dapper框架(快速上手)
在.net6快速使用Dapper,本文从Dapper的方法使用、参数、事务和存储过程等方法,提供Dapper框架的代码使用示例使我们快速便捷地使用该ROM框架。原创 2023-03-10 18:15:00 · 11502 阅读 · 2 评论 -
WPF常用的布局面板
如果是初次学习WPF,建议先了解一下WPF概述,以便选着合适的章节学习。一、面板面板控件含义StackPanel在堆叠面板中,子元素允许以水平或垂直方式堆叠。WrapPanel基于orientation属性,子元素按照从左到右或从上到下的顺序排列。DockPanel以排列相对于彼此的子元素,水平或垂直。Dock属性可以将子元素停靠在顶部,底部,右侧,左侧和中部。Canvas画布面板可以使用相对于画布任意一侧(例如左,右,顶部和底部)的坐标来定位子元素。Grid网格面板由行和列组成。原创 2023-03-10 01:15:00 · 820 阅读 · 0 评论 -
WPF概述
WPF(Windows Presentation Foundation)是一个基于.net平台的c/s客户端,利用矢量的呈现引擎的UI框架。优势:WPF最大优势是可以快速构建项目从而达到缩短项目周期的目的,深受很多中小型企业欢迎,尤其在医疗、工业、金融、硬件、物流、管理系统(ERP)等行业领域。前景:近几年随着工业化的进展,国内一些企业的工业系统或上位机系统,也逐渐从使用MFC、QT等C++平台,转向了.NET平台,WPF的占比也越来越高。原创 2023-03-08 00:15:00 · 3166 阅读 · 0 评论 -
visual studio2022 使用SonarLint插件
SonarLint插件SonarLint是一个免费的开源IDE扩展,它可以识别并帮助您在编写代码时解决代码质量和代码安全问题。SonarLint类似于拼写检查器,它可以发现一些常见的编码缺陷,并提供实时反馈和提供明确的补救指导,从而优化你编写的代码。扫描用C#、VB.NET、C、C++、Javascript、TypeScript编写的代码开源JavaScript、TypeScript、C#和VB.NET代码分析器C和C++支持MSBuild(.vcxproj)项目的应用程序、动态库和静态库类型。原创 2022-11-20 08:54:37 · 4496 阅读 · 0 评论 -
C#新手营——1.C#简介
1.C#是什么C#是微软公司开发的一种面向对象且类型安全的高级程序设计语言,它运行于.NET Framework和.NET Core平台。2..NET体系结构3.类型和变量4.程序执行5.版本特色6.C#的特点与优势...原创 2021-09-25 17:14:46 · 807 阅读 · 0 评论