![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#+.net
文章平均质量分 94
小。。。小的我
飞吻飞吻飞吻飞吻飞吻飞吻飞吻
展开
-
C# 6.0本质论(多线程处理)
C#十八、多线程处理18.1 多线程概述18.2 使用System.Threading18.3 异步任务18.3.1 调用任务18.3.2 任务延续18.3.3 未处理异常18.3.4 任务取消18.3.5 TPL异步调用高延迟操作18.3.6 TAP ( Task-based Asynchronous Pattern )18.3.7 异步Lambda18.3.8 自定义异步方法18.3.9 任务调度器和同步上下文18.3.10 并行迭代18.3.11 TPL性能调整18.4 PLINQ十八、多线程处理原创 2020-09-20 11:24:06 · 428 阅读 · 0 评论 -
C# 6.0本质论(反射、特性和动态编程)
C#十七、反射、特性和动态编程17.1 反射17.2 特性17.3 使用动态对象进行编程十七、反射、特性和动态编程17.1 反射反射 指对程序集中的元数据进行检索的过程,其中元数据包括类型和方法名等调用成员 利用反射机制可以根据标识符名称调用对应的属性或方法GetValue()SetValue()Invoke()原创 2020-08-08 19:59:55 · 362 阅读 · 0 评论 -
Windows服务应用程序
Windows服务应用程序一、Windows服务应用程序简介二、创建Windows服务应用程序2.1 使用Visual Studio中的Windows服务模板新建项目一、Windows服务应用程序简介Windows服务应用程序在自己的Windows会话中长期运行的可执行应用程序Windows服务的特点可以随Windows启动而启动不需要像控制台应用程序一样每次手动点击启动可以长期在后台执行不需要交互界面不需要担心将交互界面关闭后程序也随之关闭需要先安装在window原创 2020-08-02 13:40:42 · 1201 阅读 · 0 评论 -
C# 6.0本质论(创建自定义集合)
C#十六、创建自定义集合16.1 集合接口16.2 集合类16.2.1 List16.2.2 Dictionary16.2.3 SortedDictionary、SortedList16.2.4 Stack16.2.5 Queue16.2.6 LinkedList16.3 索引器16.4 迭代器十六、创建自定义集合16.1 集合接口IEnumerableICollectionIList 按位置索引IDict原创 2020-07-26 16:52:59 · 278 阅读 · 0 评论 -
C# 6.0本质论(使用查询表达式的LINQ)
C#十五、使用查询表达式的LINQ15.1 查询表达式15.2 let子句15.3 group子句15.4 使用into进行查询延续15.5 多个from子句15.6 join子句15.7 查询表达式的本质十五、使用查询表达式的LINQ15.1 查询表达式一种和SQL风格接近的,与标准查询操作符功能类似的语法总是以“from子句”开始,以“select子句”或“groupby子句”结束from子句中的标识符为范围变量范围变量代表集合中的每一项查询表达式的结果是包含了委托引用的对原创 2020-07-25 16:46:40 · 112 阅读 · 0 评论 -
C# 6.0本质论(支持标准查询操作符的集合接口)
C#十四、支持标准查询操作符的集合接口14.1 匿名类型与隐式变量14.2 集合初始化器14.3 集合接口IEnumerable\14.4 标准查询操作符十四、支持标准查询操作符的集合接口14.1 匿名类型与隐式变量隐式局部变量 var只能用于局部变量不可以作为方法的参数类型匿名类型由编译器声明的类型,new { key1=value1, key2=value2 }不可变性,一旦实例化,属性或字段都不可变ToString()等方法被重写,按{ key1=value1, key2=原创 2020-07-25 10:37:51 · 178 阅读 · 0 评论 -
C# 6.0本质论(事件)
C#十三、事件13.1 多播委托13.2 事件十三、事件13.1 多播委托 调用一个委托对象,可触发多个与之关联的方法,即将单一事件的通知广播给多个订阅者订阅者 需要根据状态变化执行相应的操作订阅者类中已经实现了委托类型的方法发布者状态变化的来源声明委托类型Action<>并作为属性状态发生变化就调用委托原创 2020-07-19 13:52:40 · 225 阅读 · 0 评论 -
C# 6.0本质论(委托和Lambda表达式)
C#十二、委托和Lambda表达式12.1 委托12.1.1 基本概念12.1.2 声明12.1.3 实例化12.2 匿名函数12.2.1 匿名方法C#2.012.2.2 Lambda表达式12.2.2.1 语句Lambda12.2.2.2 表达式Lambda12.3 通用委托12.3.1 通用委托分类12.3.1.1 System.Func<>系列12.3.1.2 System.Action<>系列12.4 委托的引用转换12.5 外部变量12.5.1 基本概念12.5.2 包含了原创 2020-07-12 17:38:24 · 336 阅读 · 0 评论 -
C# 6.0本质论(异常)
C#十、异常十、异常ArgumentNullException(string msg, string valueName)是传入参数为null引发的异常NullReferenceException是调用对象方法时发现对象为null引发的异常异常条件 捕获异常时可以加条件判断是否进行处理,如catch( ArgumentNullException e) when (tag==true)引发现有异常而不替换栈信息&原创 2020-07-09 22:23:26 · 121 阅读 · 0 评论 -
C# 6.0本质论(良构)
C#九、良构9.1 操作符重载9.2 类型封装9.3 命名空间多层级命名方式9.4 XML注释9.5 资源清理9.6 延迟初始化九、良构9.1 操作符重载定义由operator和操作符声明的静态方法进行重载若重载了二元操作符,则会自动重载二元操作符和赋值操作符的结合,如+=9.2 类型封装类访问修饰符internal 修饰类,只能在程序集内部访问,默认是internalpublic &nb原创 2020-07-08 22:36:48 · 361 阅读 · 0 评论 -
C# 6.0本质论(值类型)
C#八、值类型八、值类型避免可变的值类型结构struct可以包含字段、属性、方法、构造器不允许定义无参构造器,以确保结构的全默认值有效,即值类型为0,引用类型为null有参构造器需要使所有字段都能初始化不允许字段初始化器,即直接声明时赋值装箱 将值类型转化为引用类型拆箱 将引用类型转化为值类型枚举默认对应的整型原创 2020-07-05 21:45:50 · 117 阅读 · 0 评论 -
C# 6.0本质论(接口)
C#七、接口七、接口接口是一种机制关系,普通的继承是模型关系成员不允许有访问修饰符,所有成员默认为public不允许静态成员接口实现显式实现不能有修饰符,如public、virtual、override等,与接口关联,不被看做是类的成员成员名前面需要显式加上接口前缀使用时需要转型为接口,将机制关系与模型关系分开隐式实现必须是public不需要加接口前缀,也不需要加override看作是类的成员实现原则不是核心功能,不常用,则使用显式实现通过接口成员名原创 2020-07-04 11:00:26 · 162 阅读 · 0 评论 -
C# 6.0本质论(继承)
C#六、继承6.1 派生6.2 重写6.3 抽象类6.4 is、as操作符六、继承6.1 派生不会继承基类的构造器以及析构器自定义转换隐式转换操作符 public static implicit operator UTMCoordinates( GPSCoordinates coordinates),将GPSCoordinates隐式转换为UTMCoordinates显示转换操作符protected原创 2020-07-02 22:08:24 · 183 阅读 · 0 评论 -
C# 6.0本质论(类)
C#五、类5.1 属性5.2 初始化5.3 静态5.4 拓展方法5.5 封装数据5.6 特殊类五、类隐式确定性资源清理?类成员的访问修饰符默认为private5.1 属性属性为了使字段能够通过赋值操作符设置数据,引入属性;get、set、value为关键字;即使在类内部,也应通过属性对字段进行赋值。CIL中内部机制类似java的getter、setter方法。自动化声明属性代码中没有对应的支持字段,直接使用属性,但在CIL中有隐藏的支持字段,与显式定义支持字段的属性基本一原创 2020-06-21 17:47:41 · 502 阅读 · 0 评论 -
C# 6.0本质论(方法与参数)
C#四、方法与参数4.1 方法4.2 参数4.3 方法重载4.3 异常四、方法与参数4.1 方法using static 为静态方法或静态成员变量,省略命名空间及类的引用;using 省略任意命名空间的引用。表达式主体方法 如果方法体中只有一条表达原创 2020-06-15 23:07:41 · 225 阅读 · 0 评论 -
C# 6.0本质论(操作符与控制流)
C#三、操作符与控制流3.1 操作符3.2 控制流3.3 预处理指令三、操作符与控制流3.1 操作符空接合操作符a??b如果为空则返回另一个值,短路运算null条件操作符a?.method().get()a为null则整个调用链不计算,返回null如果不为null,则调用链末尾返回对应的可空类型避免a?[3]一块使用位操作符>>右移补1;位运算符优先级低于算术运算符;3.2 控制流goto &n原创 2020-06-14 20:36:18 · 146 阅读 · 0 评论 -
C# 6.0本质论(数据类型)
C#二、数据类型2.1 基本数据类型2.1.1 整数类型2.1.2 浮点类型2.1.3 十进制浮点类型2.1.4 字面量2.2 字符串2.2.1 逐字字符串字面量2.2.2 字符串插值2.2.3 字符串方法2.2.4 字符串格式2.2.5 换行符2.2.6 字符串不可变2.3 匿名类型2.4 可空修饰符2.5 数据类型之间的转换2.5.1 显式类型2.5.2 隐式转型2.4 数组二、数据类型预定义类型8种整数类型、2种二进制浮点类型、十进制浮点类型、bool类型和char类型2.1 基本数原创 2020-06-12 22:35:41 · 198 阅读 · 0 评论 -
C# 6.0本质论(C#概述)
C#一、C#概述1.1 编译1.1.1 源代码文件1.1.2 编译1.2 C#语法基础1.2.1 关键字1.2.2 标识符1.2.2.1 作用1.2.2.2 大小写风格1.2.2.3 @关键字1.2.3 Main1.2.4 空白1.2.5 命名规范1.3 注释1.4 应用程序接口1.5 语言结构-CLI1.5.1 公共中间语言1.5.2 公共语言基础结构1.6 C#和.net版本1.7 CIL和ILDASM一、C#概述1.1 编译1.1.1 源代码文件拓展名C#编译器可以允许为C#源代码文件使原创 2020-06-07 10:51:15 · 1286 阅读 · 0 评论