CLR笔记-枚举类型

时间:2023-12-16 12:23:02
    class Program
{
static void Main(string[] args)
{
Color color = Color.Red;
Console.WriteLine(color.ToString());
Console.WriteLine(color.ToString("G"));//Red
Console.WriteLine(color.ToString("D"));//十进制数值
Console.WriteLine(color.ToString("X"));//十六进制
Console.WriteLine(Enum.Format(typeof(Color),,"G"));
Console.WriteLine(Enum.Format(typeof(Color), Color.Red, "G"));
//获取枚举的数组单个类型为Color
Color[] colors = (Color[])Enum.GetValues(typeof(Color)); foreach (var item in colors)
{
Console.WriteLine("{0,5:D}\t{0:G}",item);
}
//获取枚举的对象的字符串
string[] names = Enum.GetNames(typeof(Color)); foreach (var item in names)
{
Console.WriteLine("{0,5:D}\t{0:G}", item);
} //使用Parse将符号转化成Color类型,下面两种形式都可以
//Color c = (Color)Enum.Parse(typeof(Color),"1");
Color c = (Color)Enum.Parse(typeof(Color), "Red");
Console.WriteLine(c.ToString()); //用于参数验证,使用了反射机制
bool isEnum = Enum.IsDefined(typeof(Color), );
Console.WriteLine(isEnum); //将指定的值转化为枚举的枚举成员
//Color r = (Color)Enum.ToObject(typeof(Color), 1); //如果枚举类型中没有的枚举成员,仍然不会报错,输出10
Color r = (Color)Enum.ToObject(typeof(Color), ); Console.WriteLine(r.ToString());
Console.Read(); } } //默认是从0开始赋值
internal enum Color
{
White,
Red,
Green,
Blue,
Orange
}

CLR笔记-枚举类型