摘要: Cp14字符字符串和文本处理 字符 System.Char结构,2个字节的Unicode,提供了大量的静态方法;可以直接强制转换成数值; 字符串 使用最频繁的类型;不可变;引用类型,在堆上分配,但是使用起来感觉好像是值类型,比如说不用new直接赋值,原因是CLR对字符串做了特殊的处理; String 阅读全文
posted @ 2018-01-01 11:15 xsz1234 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Cp13接口 类和接口继承 接口只提供签名,不提供实现;等效于契约;凡事能使用具名接口的地方都能够使用实现了的接口。 定义接口 定义很简单,FCL也提供了大量的现成接口供使用; 继承接口 类不能多继承,接口可以; 调用接口 变量可以是接口,但是只能调用这个接口约定的操作; 隐式接口和显式接口的实现 阅读全文
posted @ 2018-01-01 10:38 xsz1234 阅读(255) 评论(0) 推荐(0) 编辑
摘要: Cp12泛型 Generic; 特点 源代码保护 类型安全 清晰代码 更佳性能 Framework中的泛型 System.Collections.Generic; 开放类型,封闭类型;每个封闭类型都有自己的静态成员; 泛型类型和继承 新的类型派生自泛型类型派生的那个类;实参指定和派生层次没有关系; 阅读全文
posted @ 2018-01-01 10:36 xsz1234 阅读(160) 评论(0) 推荐(0) 编辑
摘要: Cp11事件 类型之所以提供事件通知功能,是因为类型维护了一个已登记方法的列表,事件发生后,类型将通知列表登记的所有方法; 事件模型建立在委托的基础上。委托是调用回调方法的一种类型安全的方式。 设计事件类型 定义事件参数 EventArgs 定义事件成员 public event 委托类型 事件名称 阅读全文
posted @ 2018-01-01 10:33 xsz1234 阅读(217) 评论(0) 推荐(0) 编辑
摘要: Cp10属性 属性的本质就是方法,只是看起来像字段罢了; 无参属性 就是一般属性; 字段一般要private,然后通过设置访问方法 访问器来访问;属性是方法语法变种;getset不一定要访问支持字段;编译的时候会自动生成对应的方法和映射关系; 自动属性 可以为以后创建复杂一点的属性做好占位,随时更换 阅读全文
posted @ 2017-12-31 22:53 xsz1234 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Cp9参数 可选参数和命名参数 参数设置了默认值(设置要从右到左,有默认值的参数必须放在没有默认值的参数的后面,默认值必须是常量),就可以使用可选参数和命名参数了。向方法传递实参的时候,编译器按照从左到右的顺序对实参进行求值。如果有ref或者out就不能设置默认值了。 本质上是编译器在编译的时候应用 阅读全文
posted @ 2017-12-31 21:56 xsz1234 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Cp8方法 构造器 作用就是初始化所有成员字段;.ctor;派生类和基类都有自己的构造函数。默认有一个无参数的构造函数,值字段初始化为0,引用字段初始化为null;可以有多个构造器; 值类型的初始化其实是通过内联的方式来简化的语法; 结构的构造器 一般是new了再使用,new的含义是调用默认的构造器 阅读全文
posted @ 2017-12-31 17:07 xsz1234 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Cp6类型和成员基础 成员 常量;字段(静态字段和实例字段);实例构造器;类型构造器(用于静态字段的构造);方法(静态方法和实例方法);操作符重载(本质是一个方法);转换操作符;属性(本质还是方法);事件(委托);类型(嵌套类); 类型的可见性 public,private,protected,in 阅读全文
posted @ 2017-12-31 15:21 xsz1234 阅读(229) 评论(0) 推荐(0) 编辑
摘要: Cp5基元类型引用类型值类型 基元类型 编译器直接支持的类型,基元类型直接映射到FCL中存在的类型。 作者希望使用FCL类型名称而避免使用关键字。他的理由是为了更加的清晰的知道自己写的类型是哪种。但是实际当中关键字更常用,FCL类型的写法太繁琐了。特别是你不用过多考虑和其他语言交互的时候,只使用C 阅读全文
posted @ 2017-12-31 13:48 xsz1234 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Cp4类型基础 Object类型 Object是所有类型的基类,有Equals,GetHashCode,ToString,GetType四个公共方法,其中GetHashCode,ToString可以override. 受保护方法有MemeberwiseClone,Finalize. 所有对象必须用n 阅读全文
posted @ 2017-12-30 23:18 xsz1234 阅读(153) 评论(0) 推荐(0) 编辑
摘要: Cp3共享程序集和强命名程序集 私有方式部署+全局方式部署;弱命名程序集+强命名程序集 强命名程序集使用发布者的公钥私钥进行签名,唯一标识发布者。 共享dll被全部复制到System32中 强命名程序集标识特征:文件名,版本号,语言文化,公钥标志。 使用SN.exe工具生成密钥对并查看,在VS中也可 阅读全文
posted @ 2017-12-30 20:31 xsz1234 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Cp2生成打包部署和管理应用程序和类型 部署问题 DLL Hell;安装的复杂性;安全性;代码访问安全性。 csc.exe的简单使用。 元数据 定义表;引用表;清单表; 程序集 重用,版本控制,安全的基本单元; 程序清单Manifest EXE或Dll 逻辑概念,可以是一个物理文件,也可以是多个物理 阅读全文
posted @ 2017-12-30 19:34 xsz1234 阅读(285) 评论(0) 推荐(0) 编辑
摘要: Cp1CLR执行模型 本章的概念点 CLR=Common Language Runtime 内存管理,程序集加载,安全性,异常处理和线程同步、CLR是基础,支持着面向它的各种语言。各种语言会被对应的编译器转换为托管模块。 不同语言有各自的优点和不足。 在需要托管程序运行的电脑上必须安装CLR(.NE 阅读全文
posted @ 2017-12-30 19:32 xsz1234 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 试用Markdown来写东西 前言 之前有过一段时间的写东西的习惯,但是后来因为各种原因(主要是因为自己懒惰拖延),所以一直没有写,现在想再开始写,目的很明确,就是发现很多时候,写作能够很好的练习自己的表达能力,检验自己的理解能力。我的学习习惯是,学习一个东西之后,喜欢用自己的话语组织和重述一下,看 阅读全文
posted @ 2017-12-29 11:05 xsz1234 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 字符编码的总结 学习编程的时候经常会遇到字符编码的问题,花了一天的时间对字符编码进行了比较系统的了解,下面的内容是我参考别的资料,结合一些自己的理解汇总而成的,不一定准确,用作总结。 字符 字符包括英文字母,汉字,日文,阿拉伯文,包括标点符号等,字符不是计算机概念,纸上写的也叫。 字符集 字符集就是 阅读全文
posted @ 2017-12-29 10:43 xsz1234 阅读(317) 评论(0) 推荐(0) 编辑