结构
结构的修饰符5种:
- public、private、internal:只能在当前应用程序中访问
- protected、new:适用于嵌套类,它表示所修饰的类会把继承下来的同名成员隐藏起来
枚举
声明语法:必须使用enum关键字,然后定义枚举的名称、可访问性、基础类型、和成员等
如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型是int
在枚举类型中,声明的第一个枚举成员的默认值为0,以后的在前一个基础上加1
public enum ColorList
{
Red,Yellow,Black
}
red默认值0,yellow默认1,Black默认2
枚举类型和基础类型之间转换必须使用强制类型转换
枚举的优势:
- 枚举使代码更易于维护,有助于确保给变量指定合法的、期望的值。
- 枚举使代码更清晰,允许用描述性的名称表示整数值,而不用含义模糊的数来表示。
枚举的特点:
- 枚举不能继承其他的类,也不能被其它的类所继承。
- 枚举类型实现了IComparable接口,可以实现多个接口。
- 枚举类型只能拥有私有构造器。
- 枚举类型里面的对象是public static final的
- 枚举类型中成员列表名称是区分大小写的。
1. 通过枚举名称.成员方式获取枚举的字符串:
DayList dayList = DayList.Friday; //通过枚举名称.成员方式获取枚举的字符串
Console.WriteLine(“输出枚举的字符串:” + dayList.ToString());
输出结果为:Friday
2. 通过枚举的值来获得枚举成员的名称:
string day1 = Enum.GetName(typeof(DayList),4);
Console.WriteLine(“根据枚举的值获得常数的名称” + day1);//通过枚举的值来获得枚举成员的名称
输出结果Thursday
3. 根据枚举名称获得对应的值;
DayList day3 = (DayList)Enum.Parse(typeof(DayList), “Sunday”, true);
Console.WriteLine(“根据枚举名称获得对应的值:” + (int)day3); //根据枚举名称获得对应的值
4.根据枚举的值得到对应的名称:
DayList day4 = (DayList)Enum.Parse(typeof(DayList),“7”,true);
Console.WriteLine(“根据枚举的值得到对应的名称:” + day4.ToString());
Enum对象的Parse()方法表示将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
Enum对象提供GetNames()方法获得枚举中所有常数的名称:
Console.WriteLine(“所有的枚举常数名称:”);
foreach (string day in Enum.GetNames(typeof(DayList)))
{
Console.Write(day + “\t”);
}
返回值是Monday、Tuesday、Wednesday、Thursday…
Enum对象提供GetValues()方法获得枚举中所有常数的名称:
Console.WriteLine(“所有的枚举常数名称:”);
foreach (int day in Enum.GetValues(typeof(DayList)))
{
Console.Write(day + “\t”);
} 返回值是:1、2、3…
1、枚举名称.成员名,可以访问枚举中的成员
2、通过枚举的值获得枚举成员:(1)使用GetName()方法(2)使用ToString方法、
1、使用Parse()方法将枚举常数的名称或数字值的字符串转换成等效的枚举对象
遍历枚举成员有两种方式:
(1)GetValues()方法遍历枚举成员的值
(2)GetNames()方法遍历枚举成员的字符串形式