摘要: 1、在.NET Framework中,字符总是表示成16位unicode代码值(关于unicode、utf8等可以到http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html中查看)。 2、在字符编码术语中,码位或编码位置, 阅读全文
posted @ 2018-09-08 09:49 时空旅行 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1、接口对一组方法签名进行了统一命名。接口还能定义事件、无参属性和有参属性(C#的索引器)。 2、c#禁止接口定义任何一种静态成员。 3、C#编译器要求将实现接口的方法标记为public。CLR要求将接口的方法标记为virtual。不将方法显示标记为virtual,编译器会将它们标记为virtual 阅读全文
posted @ 2018-09-01 12:51 时空旅行 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1、定义泛型类型或方法时,为类型指定的任何变量(比如T)都称为类型参数。使用泛型类型或方法时指定的具体数据类型称为类型实参。 2、System.Collections.Concurrent命名空间提供了线程安全的泛型集合类。Microsoft建议使用泛型集合类,不建议使用非泛型集合类。 3、具有泛型 阅读全文
posted @ 2018-08-29 10:56 时空旅行 阅读(147) 评论(0) 推荐(0) 编辑
摘要: (预留,有时间写) 阅读全文
posted @ 2018-08-29 10:55 时空旅行 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 注:书本第9单参数 CLR默认所有方法参数都传值。引用本身是值引的,意味左方法能修改对象,而调用都能看到这些修改。值类型,传的是实例的一个副本,所以调用者不受影响。 (和以前理解的不一样。默认都是传值的,引用类型本以为就是传指针的,但不是的;值类型是因为传了一个副本才没有改变原值) CLR允许以传引 阅读全文
posted @ 2018-03-14 08:40 时空旅行 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 注:书本第8章:方法 实例构造器和类(引用类型) 构造器方法在“方法定义元数据表”中始终叫做.ctor(constructor的简称)。 构造引用类型的对象,在调用类型的实例构造器之前,为对象分配的内存总是先被归零。 如果类没有显示定义任何构造器,c#编译器将定义一个默认(无参)构造器。如果类的修饰 阅读全文
posted @ 2018-03-12 13:14 时空旅行 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1、常量是值从不变化的符号。只能定义编译器识别的基元类型的常量。如:Boolean,Char,Byte,SByte,Int16,UInt16,Int32,UInt32,Int64,Single,Double,Decimal和String; 2、c#也允许定义非基元类型的常量,但是前提是把值设为nul 阅读全文
posted @ 2018-03-10 10:41 时空旅行 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1、嵌套类,就是定义在类中的类;嵌套类可以访问外部类的方法、属性、字段而不管访问修饰符的限制,但是外部类只能够访问修饰符为public、internal的嵌套类的字段、方法、属性; 2、CLR如何调用虚方法、属性和事件: IL提供两个方法调用指令:call和callvirt。 call调用静态方法、 阅读全文
posted @ 2018-03-10 09:49 时空旅行 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1、一些开发人员说应用程序在32位操作系统上运行,int代表32位整数;在64位操作系统上运行,int代表64位整数。这个说法是完全错误的。C#的int始终映射到System.Int32,所以不管在什么操作系统上运行,代表的都是32位整数。 2、checked、unchecked来检查、不检查表达式 阅读全文
posted @ 2018-03-10 09:24 时空旅行 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1、CLR允许将对象转换为它的(实际)类型或者它的任何基类型。 2、is操作符检测对象是否兼容于指定类型,is操作符永远不抛出异常。 3、as操作符返回对同一个对象的非null引用。如果对象不兼容,as返回null。as操作符的工作方式与强制类型转换一样,只是它永远不抛出异常——相反,如果对象不能转 阅读全文
posted @ 2018-03-08 09:59 时空旅行 阅读(133) 评论(0) 推荐(0) 编辑