枚舉類型 是用於聲明一組命名的常數的基本數據類型(值類型)數組
枚舉的定義設計
聲明enum變量orm
enum_name 指定枚舉的類型名稱對象
enumeration list 是一個用逗號分隔的標識符列表繼承
全部枚舉類型都隱式地繼承System.Enum類型,System.Enum類型是繼承自System.ValueType類型惟一不爲值類型的引用類型。索引
CompareTo 將此實例與指定對象進行比較並返回一個對兩者的相對值的指示字符串
Equals 指示此實例是否等於指定的對象io
Format 根據指定格式將指定枚舉類型的指定值轉換爲其等效的字符串 表示形式基礎
GetName 在指定枚舉中檢索具備指定值的常數名稱變量
GetNames 檢索指定枚舉中常數名稱的數組
GetTypeCode 返回實例的基礎 TypeCode
GetUnderlyingType 返回指定枚舉基礎類型
GetValues 索引指定枚舉中常數值的數組
HasFlag 肯定當前事例中是否設置了一個或多個位域
IsDefined 返回指定枚舉中是否存在具備指定值的常數指示
Parse 將一個或多個枚舉常數的名稱或數字值的字符串表示轉換成等效的枚舉對象,一個參數指定該操做是否不區分大小寫
TryParse 將一個或多個枚舉常數的名稱或數字值的字符串表示轉換成等效的枚舉對象用於指示轉換是否成功的返回值
C# 標記枚舉(Flags)
枚舉類型 是用於聲明一組命名的常數 的 基本數據類型(值類型。
對比
枚舉值是互斥的。而位標記集合是一種由組合出現的元素造成的列表,一般設計爲以「位或」運算組合新值;枚舉類型則一般表達一種語義相對獨立的數值集合。而以枚舉類型來實現位標記集合是最爲完美的組合,簡稱爲位枚舉。
//1,給用戶建立,讀取,修改和刪除的權限
var permission = Permission.Create | Permission.Read | Permission.Update | Permission.Delete;
//2,去掉用戶的修改和刪除權限
permission = permission & ~Permission.Update;permission = permission & ~Permission.Delete;
//3,給用戶加上修改的權限
permission = permission | Permission.Update;
//4,判斷用戶是否有建立的權限
var isCreate = (permission & Permission.Create) != 0; //或者var isCreate =(permission & Permission.Create)== Permission.Create