文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#基础备忘9-结构和枚举

C#基础备忘9-结构和枚举

时间:2010-12-28  来源:金山崟霸

 

2. 结构可以有实例 构造函数和静态 构造函数,但不能有析构函数 。编译器为每个结构隐式 提供一个无参的默认构造函数 ,它将结构成员设置为相应的 0/0.0/false/null ,这个构造函数不能被删除或重定义 。

 

3. 可以在结构中创建有参数的构造函数,这和类不同,编译器只在没有其他构造函数声明时才提供隐式的无参构造函数。要调用任何构造函数都要使用 new 运算符 。如果不使用 new 运算符创建结构的实例 ,那么只有显式 地对数据成员赋值后才能使用 这些成员 。

 

4. 结构的静态构造函数创建并初始化静态数据成员,且不能引用实例成员,它在调用显示声明的构造函数 或对结构静态成员的引用之前 被调用。不能 在结构中对字段 进行初始化 。

 

5. 由于结构是密封的,所以 protected , internal , abstract , virtual 都不能 用于结构,但可以使用 new 和 override 修饰符,它们在创建一个和基类 System.ValueType 的成员有相同名称的成员时使用 。

 

6. 结构被用作返回值或值参时,都是对内存中的值 创建一份 copy 。但当用作 ref 或 out 参数时,传入方法的是一个对结构的引用 。

 

7. C# 中被视为简单类型的原始类型在 .NET 中都被实现为结构。可以使用 partial 来声明分部结构 。结构可以实现接口 。

 

8. 枚举是值 类型,直接存储它们的数据。枚举只有一种 类型的成员:命名的整数值常量 。声明枚举时成员间使用逗号 (,) ,最后一个没有分号 。每个枚举类型都有一个底层整数类型,默认为 int 。

 

9. 每个枚举成员被赋值为一个底层类型的常量值,第一个成员赋值为 0 ,并对每一个后续成员多 1 。枚举的成员名是被当做字符串打印的,可以将枚举成员字面量赋给一个枚举变量,也可用一个同类型的变量来赋值。

 

10. 枚举的底层类型可以通过冒号 来设置,可以是除了 char 外的任意整数 类型 。在枚举中不能有重复的成员名,但成员名的值 可以相同。

 

11. 可以用枚举来实现位标志:声明一个选中的整数类型的枚举,每个成员由一个比特位置表示。要创建一个带有适当的位标志的字,需要声明一个相应枚举类型的变量,用按位或 (OR) 运算符设置适当的位,用按位与 (AND) 运算符解开位标志。用位模式时常用 16 进制表示法。要确定是否有一个特定的位被设置了,对标志字和该位标志使用位与运算符。

 

12. Flags 特性通知编译器该枚举的成员将要被结合为位标志,而不是只作为分开的值使用:另外,它允许一个枚举的 ToString 方法,以对位标志的值提供更合适的格式化。如果他匹配了其中的一个或几个成员, ToString 方法将返回这些成员的字符串 名称。

 

13. 枚举中的成员是常量 ,不能用修饰符 ,它们都隐式地具有和枚举相同 的可访问性。即使没有枚举类型变量 ,通过枚举类型名 . 成员名 的形式也可以访问成员,因为它们是常量。

 

14. 比较不同枚举类型的成员会导致一个编译期错误。

相关阅读 更多 +
排行榜 更多 +
白银之城手游官服下载

白银之城手游官服下载

角色扮演 下载
像素赛车手魔改版下载

像素赛车手魔改版下载

赛车竞速 下载
自由城计划翼豪陆神模组手机版下载

自由城计划翼豪陆神模组手机版下载

角色扮演 下载