C#中的枚举
枚举是一种基本数据类型而不是构造类型,它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.
namespace _01枚举
{
class Program
{
static void Main(string[] args)
{
//1.普通枚举中的额每个值都是互斥的
//2.枚举中的每个值都有一个对应数值来表示
//2.1.默认数值是整形int,从0开始,一次递增
//2.2.可以手动设置每个枚举对应的整数,设置后向后自动递增
//3.枚举在编译完成后就已经用对应的数值常量来表示了。
Console.WriteLine((int)UserState.OnLine);
Console.WriteLine((int)UserState.OffLine);
Console.WriteLine((int)UserState.Busy);
Console.WriteLine((int)UserState.Hide);
Console.WriteLine(UserState.QMe);
//将枚举转换成字符串
string str = UserState.OnLine.ToString();
Console.WriteLine(str);
//把字符串转换成枚举类型
String meiju = "QMe";
UserState state = (UserState)Enum.Parse(typeof(UserState), meiju);
Console.WriteLine((int)state);
Console.WriteLine(state);
Console.ReadKey();
}
}
//默认枚举都是使用int来替代的,但是也可以指定具体的数据类型。例如:byte
//枚举:byte表示,限制了枚举中的数字类型
//类型除了 char 其他的都可以
public enum UserState:byte
{
//一般枚举中的每个值都是互斥的
QMe,
OnLine=222,
OffLine,
Busy=234,
Hide
}
}