摘要: 1. 字符串一经创建,便不能以任何方式修改,只能修改引用。 2. ToLowerInvariant() 和 ToUpperInvariant() 以忽略语言文化的方式将字符串转换为小写或大写形式。性能比ToLower() 和 ToUpper()好。而且Microsoft对执行大写比较的代码进行了优化 阅读全文
posted @ 2021-06-02 19:14 Karl_Albright 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1. 值类型的变量永远不会为null,所有需要使用System.Nullable<T> 2. 操作数是null,结构是null;==、!=操作数都为null,则返回true;<、>、<=、>= 任何一个操作数为null,则返回false。 3. 操作可空类型的速度慢于非可空类型速度。 4. ?? 不 阅读全文
posted @ 2021-06-02 19:08 Karl_Albright 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1. 特性继承自System.Attribute,能作用于TypeDef(类、结构、枚举、接口和委托),MethodDef(含构造器),ParamDef,FieldDef,PropertyDef,EventDef,AssemblyDef,ModuleDef。 2. AttributeUsageAtt 阅读全文
posted @ 2021-06-02 18:46 Karl_Albright 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1. 委托是方法的包装器,使方法能通过包装器来间接回调。在一个类型中通过委托来调用另一个类型的私有成员,只要委托对象是具有足够安全性/可访问性的代码创建,便没有问题。 2. 协变性:方法能返回从委托的返回类型派生的一个类型。逆变性:方法获取的参数可以是委托的参数类型的基类。 3. 委托实际上是一个类 阅读全文
posted @ 2021-06-02 02:25 Karl_Albright 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1. 数组隐式继承 System.Array,所以数组是引用类型。变量包含的是对数组的引用,而不是包含数据本身的元素。 2. 数组协变性。将数组从一种类型转换为另一种类型。 string[] sa = new string[100]; object[] oa = sa; oa[5] = "Jeff" 阅读全文
posted @ 2021-06-02 00:14 Karl_Albright 阅读(67) 评论(0) 推荐(0) 编辑