C 列舉基礎解析

2022-02-10 04:38:30 字數 1319 閱讀 5978

列舉提供成組的常數值,它們有助於使成員成為強型別以及提高**的可讀性。在 c# 中,使用 enum 來宣告列舉。 所有的列舉型別都是從system.enum抽象類派生的,後者又是從system.valuetype派生,因此所有的列舉型別都是值型別。

enum關鍵字用於宣告列舉,即一種由一組稱為列舉數列表的命名常數組成的獨特型別。每種列舉型別都有基礎型別,該型別可以是除 char 以外的任何整型。列舉元素的預設基礎型別為 int。預設情況下,第乙個列舉數的值為 0,後面每個列舉數的值依次遞增 1。

基本語法:

enum day ;

列舉中的值中不能包含有空格

基礎型別指定為每個列舉數分配的儲存大小。但是,從enum型別到整型的轉換需要用顯式型別轉換來完成。例如,下面的語句通過使用強制轉換從enum轉換為 int,將列舉數 sun 賦給 int 型別的變數:

int x = (int)days.sun;

day m=(day)1;

enum類

列舉提供基類。

parse(type, string)

將乙個或多個列舉常數的名稱或數字值的字串表示轉換成等效的列舉物件。

enum colors ;

colors colorvalue = (colors) enum.parse(typeof(colors), red);

isdefined

返回指定列舉中是否存在具有指定值的常數的指示。返回值是個布林型別

enum.isdefined(typeof(colors), colorvalue)

enumeration變數的文字描述

如果想要enumeration返回一點有意義的string,從而使用者能知道分別代表什麼, 則按如下定義:

using

system.componentmodel; // 先新增該引用

public enum nation : byte

使用如下方法來獲得文字描述:

using

system.reflection;

using

system.componentmodel;

public

static

string

getenumdesc(enum enumsubitem

)else

}

C 列舉型別解析

列舉是開發者可以定義的乙個型別。列舉的關鍵特徵是它標識了乙個在編譯時定義的所有可能值得集合,每個值都由乙個名稱來引用,這就使得 更加的易讀。我們採用與類相似的語法來定義乙個列舉 列舉型別的宣告必須跟類是平級的 如 enum connectionstate 布林型別的引數也適合使用列舉。例如 像set...

C 列舉型別解析

列舉是開發者可以定義的乙個型別。列舉的關鍵特徵是它標識了乙個在編譯時定義的所有可能值得集合,每個值都由乙個名稱來引用,這就使得 更加的易讀。我們採用與類相似的語法來定義乙個列舉 列舉型別的宣告必須跟類是平級的 如 enum connectionstate 布林型別的引數也適合使用列舉。例如 像set...

C 基礎精華 列舉

enums列舉是值型別,資料直接儲存在棧中,而不是使用引用和真實資料的隔離方式來儲存。1 預設情況下,列舉中的第乙個變數被賦值為0,其他的變數的值按定義的順序來遞增 0,12,3.因此以下兩個 定義是等價的 csharp view plain copy enum trafficlight cshar...