2011年5月6日

[C#] enum 枚举

摘要: 默认情况下,枚举第一个值是0, 可显式为枚举赋值。 可以定义枚举的基础类型,如enum E : short {}, sizeof(E) == 2;默认情况下是int。 枚举的继承链:ValueType->Enum->enum 枚举类型和基础类型之间的转换都是显式的,0除外,因为存在从0代任何枚举类型的隐式转换。 枚举的ToString()会输出其枚举值的标识符、 从字符串转枚举:AEnumTyp... 阅读全文

posted @ 2011-05-06 18:40 蚂蚁蚂蚁 阅读(1230) 评论(0) 推荐(0) 编辑

[C#] struct 结构

摘要: struct为自定义值类型的关键字 确保值类型是不可变的,虽然语言本身未作要求。即一旦实例化好了一个值类型,这个实例就不能修改。 struct可以包含属性、字段、方法、构造器,但不能包含无参数的构造器。 在实例化一个struct数组时,不会调用值类型的构造器,因数组内存会用零初始化。 构造器初始化时不能针对属性进行初始化,会产生编译错误。 struct不支持终结器 struct的继承链:obje... 阅读全文

posted @ 2011-05-06 18:24 蚂蚁蚂蚁 阅读(283) 评论(0) 推荐(0) 编辑

[C#] interface 和 abstract class

摘要: 抽象类 接口 无法实例化,只能实例化其派生类。 不能实例化 可以包含抽象成员,抽象成员不能是private的,自动为virtual的。 不能为成员显式的使用abstract修饰符。 可以包含数据成员 不能存储任何数据,但可以在接口中定义属性,但不能包含实现。 添加非抽象成员,不会破坏版本兼容性 为现有接口扩展成员,会破坏版本兼容性 所有成员默认为private,和类相同 所有成员自动为publi... 阅读全文

posted @ 2011-05-06 15:04 蚂蚁蚂蚁 阅读(160) 评论(0) 推荐(0) 编辑

[ C# ] as 和 is 比较

摘要: is 运算符 判断对象是否是某特定类型,返回值为true或者false。 string s = "a string"; Trace.Assert(s is string); Trace.Assert(s is object); 2 as 运算符 尝试将对象转换为一个特定的数据类型,如果失败,将null赋值给目标. 在一个继承链上向上或向下转换为支持转型运算符的类型. object o = "1... 阅读全文

posted @ 2011-05-06 14:18 蚂蚁蚂蚁 阅读(248) 评论(0) 推荐(0) 编辑

导航