C 中的列舉型別(enum type)

2021-07-16 18:15:45 字數 2365 閱讀 9394

c#中的列舉型別(enum type)

列舉型別(enum type)是具有一組命名常量的獨特的值型別。在以下示例中:

enum

color

宣告乙個名為 color 的列舉型別,該型別具有三個成員:red、green 和 blue。

列舉具體是怎麼宣告呢?列舉宣告用於宣告新的列舉型別。列舉宣告以關鍵字 enum 開始,然後定義該列舉型別的名稱、可訪問性、基礎型別和成員。具體格式:

修飾詞(new、public、protected、internal、private)enum 列舉型別名:整數型別

1.b,測試源**返回頂部

列舉型別一般用於列出唯一的元素,如一周的各天、國家/地區名稱,等等。下面的示例**宣告並使用乙個名為 color 的列舉型別,該列舉型別有三個常數值 red、green 和 blue。

using

system;

namespace

class

enumtypeexample

}static

void main(string

args)}}

//execation result

red

blue

請按任意鍵繼續. . .

1.b.2, 乙個列舉的關聯值或隱式地、或顯示地被賦值。如果列舉成員的宣告中具有 constant-expression 初始值設定項,則該常量表示式的值(它隱式轉換為列舉的基礎型別)就是該列舉成員的關聯值。如果列舉成員的宣告不具有初始值設定項,則它的關聯值按下面規則隱式地設定:

如果列舉成員是在列舉型別中宣告的第乙個列舉成員,則它的關聯值為零。否則,列舉成員的關聯值是通過將前乙個列舉成員(按照文字順序)的關聯值加 1 得到的。這樣增加後的值必須在該基礎型別可表示的值範圍內;否則,會出現編譯時錯誤。有關列舉型別成員關聯值賦值案例,參考下例:

using

system;

namespace

test

class

enumtype

static

string

chooseday(day d)

天(即周一),工作

",(uint

)d);

break

;

case

day.tue:

tmp = string.format("

你選擇一周中的第天(即周二),工作

", (uint

)d);

break

;

case

day.wed:

tmp = string.format("

你選擇一周中的第天(即週三),工作

", (uint

)d);

break

;

case

day.thu:

tmp = string.format("

你選擇一周中的第天(即周四),工作

", (uint

)d);

break

;

case

day.fri:

tmp = string.format("

你選擇一周中的第天(即周五),工作

", (uint

)d);

break

;

case

day.sat:

tmp = string.format("

你選擇一周中的第天(即週六),休息

", (uint

)d);

break

;

case

day.sun:

tmp = string.format("

你選擇一周中的第天(即週日),休息

", (uint

)d);

break

;

default

: tmp = "

不合法"

;

break

; }

return

tmp;}}

}

//execation result

你選擇一周中的第7天(即週日),休息

你選擇一周中的第1天(即周一),工作

請按任意鍵繼續. . .

C 中的列舉型別(enum type)

ylbtech 原文 c 中的列舉型別 enum type 列舉型別 enum type 是具有一組命名常量的獨特的值型別。在以下示例中 enumcolor 宣告乙個名為 color 的列舉型別,該型別具有三個成員 red green 和 blue。列舉具體是怎麼宣告呢?列舉宣告用於宣告新的列舉型別...

C 中的列舉型別

c 中的列舉 列舉型別是一種的值型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告 byte sbyte short ushort int uint long 或...

C 中列舉型別

列舉型別是一種的值型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告 byte sbyte short ushort int uint long 或 ulong ...