欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > c#-枚举

c#-枚举

2025/2/6 17:09:27 来源:https://blog.csdn.net/qq_65186476/article/details/145462912  浏览:    关键词:c#-枚举
//可空类型:int? num 等价 Nullable<int> num
Nullable<int> a = null;
a = 99;
Console.WriteLine(a);//合并运算符?? : a有值的话,赋值给b
int b = a ?? 1;
Console.WriteLine(b);

枚举成员不能相同,但枚举的值可以相同

枚举

枚举可以继承byte、sbyte、short、ushort、 int、 uint、long 或 ulong,不指定默认是int

枚举值默认从0开始,也可以指定,也可以等于某个成员加上一个值

enum Days : long{Sun, Mon, Tue, Wed, Thu, Fri = 5, Sat = Sun + 1};

使用

得到K-V

//声明枚举变量
Days num = Days.Sun;//获取枚举K
string s = Days.Sun.ToString();//获取枚举V,必须跟枚举类型,不是int要强转
long x = (long)num;
Console.WriteLine(x);//根据 V 获取 K
int typeVal = 0;
string name = Enum.GetName(typeof(Days), typeVal);
Console.WriteLine(name);

获取枚举对象,typeof()获取该类型的对象

Parse方法:将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象

//根据 V 获取枚举对象
Days clazz = (Days)Enum.Parse(typeof(Days), "6");
Console.WriteLine(clazz);//根据 K 获取枚举对象
Days clazz2 = (Days)Enum.Parse(typeof(Days), "Mon");
Console.WriteLine(clazz2);int j = Convert.ToInt32(Enum.Parse(typeof(Days), "Sun"));
//默认第三个参数为false,当传true时忽略大小写
int k = Convert.ToInt32(Enum.Parse(typeof(Days), "Sun", true));

获取数组

//获取 K 数组
string[] tnames = Enum.GetNames(typeof(Days));//获取 V 数组
var values = Enum.GetValues(typeof(Days));

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com