列舉與位列舉

2022-08-09 01:00:16 字數 1372 閱讀 6549

列舉型別 是用於宣告一組命名的常數的基本資料型別(值型別)

列舉的定義

宣告enum變數

enum_name 指定列舉的型別名稱

enumeration list 是乙個用逗號分隔的識別符號列表

所有列舉型別都隱式地繼承system.enum型別,system.enum型別是繼承自system.valuetype型別唯一不為值型別的引用型別。

compareto  將此例項與指定物件進行比較並返回乙個對二者的相對值的指示

equals 指示此例項是否等於指定的物件

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

c 列舉與位列舉

環境 c 中的列舉本質上說是乙個整數,但它同時和字串又具有對應關係,可以從vs的提示中看出 下面 演示列舉與數字和字串的相互轉換 public static void main string args 數字轉列舉 console.writeline 數字轉列舉 列舉轉字串 console.write...

C 中列舉與位列舉的區別和使用

呼叫普通列舉時如圖所示,呼叫位列舉多選時需要中間加乙個 列舉和位列舉的定義 位列舉定義時需要加乙個 flags 還要賦值第二個是第乙個的二倍 class program 判斷這個學生是否包含 if hobby.吃.hasflag hobby.吃 console.readkey 學生類 public ...

2023年7月8日 列舉與位列舉

1.列舉型別是用於宣告一組命名的常數的基本資料型別 2.所有列舉型別都隱式的繼承system.enum型別 system.enum型別是繼承自system.valuetype型別唯一不為值型別的引用型別 3.compareto 將此例項與指定物件進行比較並返回乙個對二者的相對值的指示 4.equal...