C#中的结构和枚举
来源:互联网 发布:淘宝网手机库计算比例 编辑:程序博客网 时间:2024/06/06 14:16
枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
枚举 (enum) 是值类型的一种特殊形式,它从 System.Enum 继承而来,并为基础的基元类型的值提供替代名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。
C# 允许您使用 enum 关键字创建自己的命名常量集。使用这些数据类型可以声明一组名称或其他文本值,用于定义可以赋给某个变量的所有可能值。
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6
}
class Program{
static void Main() {
DayOfWeek day = DayOfWeek.Monday;
int i = (int) DayOfWeek.Monday;
System.Console.WriteLine(day); // displays Monday
System.Console.WriteLine(i); // displays 1
}
}
显示枚举的文本值
如果需要访问在 enum 数据类型中使用的名称或词,则可以使用 ToString() 方法来实现
设置默认值
默认情况下,枚举类型中的第一个值为零。可以指定其他初始值,如下所示:
实际上,所有值都可以定义唯一的整数值:
获取枚举的整型值
从一个字符串中获取枚举值
C# 中的结构与类相似,但结构缺乏某些功能,例如继承。另外,由于结构是一个值类型,因此通常创建结构要比创建类的速度快。如果您有一些紧凑循环,需要在其中创建大量新数据结构,则应考虑使用结构而不是类。
结构是使用 struct 关键字定义的,例如:
}
结构与类共享大多数相同的语法,但结构比类受到的限制更多:
由于结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值来实现默认构造函数。结构不能从类或其他结构继承。
结构是值类型。如果从结构创建一个对象并将该对象赋给某个变量,则该变量包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识;无法区分具有相同数据的两个值类型实例。C# 中的所有值类型都继承自 ValueType,后者继承自 Object。
结构还可以包含构造函数、常量、字段、方法、属性、索引器、运算符、事件和嵌套类型,但如果同时需要上述几种成员,则应当考虑改为使用类作为类型。
结构可以实现接口,但它们无法继承另一个结构。因此,结构成员无法声明为 protected。
都可以包含字段、方法
都可以实现接口
类:
结构:
- C#中的结构和枚举
- C# 枚举和结构
- c#枚举和结构
- C#中的数组,结构,枚举
- c#中的结构与枚举
- C#中的结构体(Struct)和枚举(enum)的区别
- C# 枚举、结构和方法
- C#枚举和结构体
- C#之结构、枚举和运算符
- C#学习笔记001-结构和枚举
- C#语言—枚举和结构
- C语言中的结构体和枚举
- C语言中的结构体和枚举
- Swift语言中的枚举和结构体
- C#数组 枚举 结构
- C# 枚举与结构
- C# 结构,枚举
- C#学习笔记之七:结构和枚举
- UCHOME ajaxmenU()用法
- 802无线电源管理(繁体)
- JAVA CLASSPATH 和PATH的区别 经典
- WinCE Bootloader学习笔记之OEMDebugInit()(转)
- 802中的电源管理
- C#中的结构和枚举
- VC项目配置基础
- c# 窗体位置任意调
- yum usage
- contention-based & conention—free data service
- uchome二次开发必须知道的通用方法
- centos5,安装cacti
- 【软件测试自动化-QTP系列讲座 32】== 对象封装属性的真正源头 ==
- 第1二分查找