【C#冷知识系列】(四)关于枚举的冷知识
语法
[Flags]public enum Permission{ create = 1, read = 2, update = 4, delete = 8,}
注意事项
由于flag的本质是使用或运算进行位运算,所以枚举值必须是能进行或运算的应用
权限管理使用
//初始化WeekEnum week = (WeekEnum)127;Console.WriteLine(week.ToString()); //输出 Sunday, Monday, Tuesday, Wendnesday, Thursday, Friday, SaturdayWeekEnum week = WeekEnum.Sunday;//添加一个星期week = week | WeekEnum.Monday;Console.WriteLine(week.ToString()); // 输出Sunday, Monday//去掉一个星期week = week & ~WeekEnum.Sunday;Console.WriteLine(week.ToString()); //输出 Monday//判断是否有某个元素obj.HasFlag() // 返回True False
字符串转化为枚举
string day = "monday";WeekEnum today = (WeekEnum)Enum.Parse(typeof(WeekEnum), day, true);// 最后一个参数标识字符串是否区分大小写
修改枚举的变量类型
xiupublic enum Color : short{}// 可以变化为 byte short int 等类型
枚举的遍历
public enum Suits{ Spades, Hearts, Clubs, Diamonds, NumSuits}private static void Main(string[] args){ foreach (Suits suit in Enum.GetValues(typeof(Suits))) { Console.WriteLine((int)suit+ ":" + suit); }}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。