列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。
c# 列舉是值資料型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。
宣告列舉的一般語法:
enum其中,;
列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0.例如:
enum下面的例項演示了列舉變數的用法:days
;
using當上面的**被編譯和執行時,它會產生下列結果:system
;namespace
;static
void
main
(string
args)"
,weekdaystart
);console
.writeline
("friday: "
,weekdayend
);console
.readkey
();}
}}
monday:1friday
:5
筆記:1.列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。
但是,你也可以自定義每個符號的值:
using輸出結果:system
;namespace
;static
void
main
(string
args)"
,weekdaystart
);console
.writeline
("friday: "
,weekdayend
);console
.readkey
();}
}}
monday:71friday
:51
2.列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。第 n 個符號值與第 n-1 個有關。
using結果:system
;class
program
;static
void
main
(string
args
)}
82
3.列舉體在給陣列中具體標號位置給予含義是使用,可以使程式更容易讀懂和修改。
enum此時可以一眼看出列印值為引數的長寬高。len
;static
void
main
(string
args);
console
.writeline
("length: "
,parameter
[(int
)len
.length
]);console
.writeline
("width: "
,parameter
[(int
)len
.width
]);console
.writeline
("height: "
,parameter
[(int
)len
.height
]);}
相對於使用
#define該方式在插入乙個參時更方便:length
0#define
width
1#define
height
2
#define很明顯使用enum方式更容易更改。area
0#define
length
1#define
width
2#define
height
3enum
len
;
4.位標誌列舉(flags enumeration)
現實中不總是用離散值列舉,以一周中的7天為例,假設要求應用程式使用者指定一周中各天的任意組合,便可以使用"位標誌列舉"。使用位標誌列舉時,可以用或運算建立新的組合值。以星期為例,宣告方法如下:
[為了讓位標誌列舉的值能夠組合,所有值都必須是2的冪。因為組合多個值時,必須能確定結果為哪個離散值。flags
]public
enum
days
在簡單列舉中,可以讓名稱none或最常用預設名稱對應於0,但標誌列舉要求0對應於名稱none,這個值意味著所有標誌都未設定。
執行:
days結果輸出:days
=days
.weekend
;console
.writeline
(" : "
,days
,(int
)days
);
weekend:65
C 基礎知識 列舉(Enum)
列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。c 列舉是值型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。一 列舉的定義 列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。1 public enum days 211 12s...
desc 列舉型別id 列舉基礎知識梳理
列舉 1.1.列舉是什麼 列舉,也是一種自定義的引用資料型別。使用關鍵字 enum修飾。在寫程式的過程中,有些資料取值範圍是有限的,就只有有限的幾個值作為取值範圍。例如 乙個人的性別,只有兩個值可以選擇 例如 乙個用來描述星期幾的變數,取值範圍只有7個 此時,這樣的資料,就可以使用列舉型別來描述。1...
C 基礎知識
抽象類 abstract class 一種不可以被例項化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法後才能被例項化。介面 inte ce 只含有共有抽象方法 public abstract method 的類。這些方法必須在子類中被實現。反射 程式集包含模...