随笔分类 -  C#

<NET CLR via c# 第4版>笔记 第19章 可空值类型
摘要:是 结构 . 19.1 C 对可空值类型的支持 C 允许用问号表示法来声明可空值类型,如: 应用操作符解析规则: 一元操作符(+, ++, , , !, ~) 操作数是 null ,结果就是 null . 二元操作符(+, , \ , /, %, &, |, ^, ) 两个操作数任何一个是 null 阅读全文
posted @ 2017-08-22 14:17 Harry(悟秀) 阅读(213) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第18章 定制特性
摘要:18.1 使用定制特性 FCL 中的几个常用定制特性. DllImport 特性应用于方法,告诉 CLR 该方法的实现位于指定 DLL 的非托管代码中. Serializable 特性应用于类型,告诉序列化格式化器一个实例的字段可以序列化和反序列化. AssemblyVersion 特性应用于程序集 阅读全文
posted @ 2017-08-21 16:53 Harry(悟秀) 阅读(248) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第17章 委托
摘要:17.1 初识委托 .net 通过 委托 来提供回调函数机制. 委托确保回调方法是类型安全的. 委托允许顺序调用多个方法. 17.2 用委托回调静态方法 将方法绑定到委托时,C 和 CLR 都允许引用类型的 协变性(covariance) 和 逆变性(contravariance) . 协变性是指方 阅读全文
posted @ 2017-08-21 10:50 Harry(悟秀) 阅读(366) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第16章 数组
摘要:0基一维数组的性能是最佳的.因为可以使用一些特殊的IL指令. 16.1 初始化数组元素 16.2 数组转型 元素为 引用类型 的数组,如果 维数相同 ,且元素源类型到目标类型 存在隐式或显式转换 ,CLR 允许将数组元素从一种类型转型另一种. CLR不允许将值类型元素的数组转型为其他任何类型 ,不过 阅读全文
posted @ 2017-08-16 16:25 Harry(悟秀) 阅读(362) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第15章 枚举类型和位标志
摘要:15.1 枚举类型 枚举定义的符号是常量值. C 编译器编译时,会用数值替换符号,不再引用定义了符号的枚举类型.可能会出现一些版本问题. Enum.IsDefined(Type enumType, object value) 方法被经常用于参数校验: IsDefined 方法必须慎用. 首先, Is 阅读全文
posted @ 2017-08-11 14:23 Harry(悟秀) 阅读(260) 评论(0) 推荐(0)
<NET CLR via c# 第4版> 读书笔记--目录
摘要:<NET CLR via c# 第4版>个别章节虽读过多次,但始终没有完整读过这本书.即使看过的那些,时间一长,也忘记了大部分.趁着最近不忙,想把这本书好好读一遍,顺便记下笔记,方便随时查看. 真的只是笔记,因为能力有限,并不能很好地讲解一个知识点,只是把我认为比较重要的地方,划个重点,记录到这里. 阅读全文
posted @ 2017-08-08 17:19 Harry(悟秀) 阅读(552) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理
摘要:14.1 字符 三种数值类型与 Char 实例的相互转换: 14.2 System.String类型 14.2.1 构造字符串 14.2.2 字符串是不可变的 14.2.3 比较字符串 出于编程的目的而比较字符串时,应该总是使用 StringComparison.Ordinal 或者 StringC 阅读全文
posted @ 2017-08-08 17:18 Harry(悟秀) 阅读(342) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第13章 接口
摘要:13.1 类和接口继承 13.2 定义接口 C 用 interface 关键字定义接口.接口中可定义方法,事件,无参属性和有参属性(C 的索引器),但不能定义任何构造器方法,也不能定义任何实例字段. 13.3 继承接口 C 编译器要求将实现接口的方法(简称为"接口方法")标记为public. CLR 阅读全文
posted @ 2017-07-26 14:36 Harry(悟秀) 阅读(519) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第12章 泛型
摘要:泛型优势: 源代码保护 使用泛型算法的开发人员不需要访问算法的源代码.(使用c++模板的泛型技术,算法的源代码必须提供给使用算法的用户) 类型安全 向 实例添加一个String对象会报错. 更清晰的代码 减少了源代码中必须进行的强制类型转换次数,使代码更容易编写和维护. 更佳的性能 对于值类型实例, 阅读全文
posted @ 2017-07-24 17:13 Harry(悟秀) 阅读(416) 评论(0) 推荐(1)
<NET CLR via c# 第4版>笔记 第11章 事件
摘要:11.1 设计要公开事件的类型 11.1.1 第一步: 定义类型来容纳所有需要发送给事件通知接收者的附加信息 11.1.2 第二步: 定义事件成员 方法原型必须具有以下形式: 要求所有事件处理程序的返回类型都是 void. 因为引发事件后可能要调用好几个回调方法,但没办法获得所有方法的返回值. 11 阅读全文
posted @ 2017-07-20 16:12 Harry(悟秀) 阅读(351) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第10章 属性
摘要:10.1 无参属性 10.1.1 自动实现的属性 10.1.2 合理定义属性 属性可以只读或只写,而字段访问总是可读和可写的(一个例外是 readonly 字段仅在构造器中可写). 属性方法可能抛出异常;字段访问永远不会. 属性不能作为 out 或 ref 参数传给方法,而字段可以. 属性方法可能花 阅读全文
posted @ 2017-07-19 15:02 Harry(悟秀) 阅读(371) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第9章 参数
摘要:9.1 可选参数和命名参数 9.1.1 规则和原则 可为方法、构造器方法和有参属性(C 索引器)的参数指定默认值。还可为属于委托定义一部分的参数指定默认值。 有默认值的参数必须放在没有默认值的所有参数之后。但有一个例外:“参数数组”这种参数必须放在所有参数(包括有默认值的这些)之后,而且数组本身不能 阅读全文
posted @ 2017-06-02 16:07 Harry(悟秀) 阅读(442) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第8章 方法
摘要:8.1 实例构造器和类(引用类型) 构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零 。没有被构造器显式重写的所有字段都保证获得 0 或 null 值。 构造器不能被继承。不能使用以下修饰符: virtual,new,override,sealed和abstract. 阅读全文
posted @ 2017-05-19 17:08 Harry(悟秀) 阅读(355) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第7章 常量和字段
摘要:7.1 常量 常量 是值从不变化的符号。定义常量符号时,它的值必须能够在编译时确定。 只能定义编译器识别的基元类型的常量,如果是非基元类型,需把值设为null。 常量的值直接嵌入代码,所以不能获取常量地址,不能以传引用的方式传递常量。 不能很好地支持跨程序集的版本控制(修改一个DLL中的常量值,需要 阅读全文
posted @ 2017-05-18 11:46 Harry(悟秀) 阅读(328) 评论(2) 推荐(0)
<NET CLR via c# 第4版>笔记 第6章 类型和成员基础
摘要:6.1 类型的各种成员 6.2 类型的可见性 public 全部可见 internal 程序集内可见(如忽略,默认为internal) 可通过设定 友元程序集 ,允许其它程序集访问该程序集中的所有internal 类型.例如想允许强命名"Microsoft"程序集访问本程序集内的internal类型 阅读全文
posted @ 2017-05-17 16:43 Harry(悟秀) 阅读(346) 评论(0) 推荐(0)
<NET CLR via c# 第4版>笔记 第5章 基元类型、引用类型和值类型
摘要:5.1 编程语言的基元类型 c 不管在什么操作系统上运行,int始终映射到System.Int32; long始终映射到System.Int64 可以通过checked/unchecked操作符/语句打开或关闭溢出检查,如: 在checked操作符或语句中调用方法,不会对该方法造成任何影响,如: 尽 阅读全文
posted @ 2017-05-16 18:19 Harry(悟秀) 阅读(595) 评论(0) 推荐(0)