c 列舉例項

2022-05-10 08:26:44 字數 2389 閱讀 8725

[分享][c#]enum列舉型別使用總結

public enum colors ;

the entries of the colors enum are:

redgreen

blue

yellow

根據name獲得enum的型別:

colors mycolor = (colors)enum.parse(typeof(colors),"red",true);

(int)mycolor1=1

mycolor1.gettypecode=int32

根據value獲得enum的型別:

colors mycolor = (colors)enum.parse(typeof(colors),"1",true);

mycolor2.tostring()=red

mycolor2.gettypecode=int32

遍歷列舉內容

foreach(string s in enum.getnames(typeof(colors)))

colors myorange = (colors)enum.parse(typeof(colors), "red, blue,yellow");

the myorange value has the combined entries of [myorange.tostring()]=13

colors myorange2 = (colors)enum.parse(typeof(colors), "red, blue");

the myorange2 value has the combined entries of [myorange2.tostring()]=5

列舉方法

<1>獲取列舉字串

timeofday time 

=timeofday.afternoon;

console.writeline(time.tostring());

//輸出:afternoon

<2>enum.parse()方法。這個方法帶

3個引數,第乙個引數是要使用的列舉型別。其語法是關鍵字

typeof

後跟放在括號中的列舉類名。

typeof

運算子將在第

5章詳細論述。第二個引數是要轉換的字串,第三個引數是乙個

bool

,指定在進行轉換時是否忽略大小寫。最後,注意

enum.parse()

方法實際上返回乙個物件引用——

我們需要把這個字串顯式轉換為需要的列舉型別

(這是乙個取消裝箱操作的例子

)。對於上面的**,將返回

1,作為乙個物件,對應於

timeofday.afternoon

的列舉值。在顯式轉換為

int時,會再次生成

1。timeofday time2 

=(timeofday) enum.parse(

typeof

(timeofday), 

"afternoon", 

true

);console.writeline((

int)time2);

//輸出1

<3>得到列舉的某一值對應的名稱

lbone.text 

=enum.getname(

typeof

(timeofday), 0);

lbone.text 

=((timeofday)

0).tostring();

//返回:morning

兩種方法都能實現,但是當其值越界(不是列舉所列出的值),就有一定的區別了。大家可以根據自己的需求不同,選擇合適的方法。

lbcon.text 

=((timeofday)

5).tostring(); 

//返回:5,如果越界返回原值

this

.lbgetname.text 

=enum.getname(

typeof

(timeofday), 

5); 

//返回:空字串,如果越界返回空字串

<4>得到列舉的所有的值 

foreach

(int

i in

enum.getvalues(

typeof

(timeofday)))

lbvalues.text 

+=i.tostring();

<5>列舉所有的名稱 

foreach

(string

temp 

inenum.getnames(

typeof

(timeofday)))

lbnames.text

+=temp;

C 中的列舉及相關例項

長遠來看,建立列舉可以節省大量的時間,減少許多麻煩。使用列舉比使用無格式的整數至少有如下三個優勢 列舉可以使 更易於維護,有助於確保給變數指定合法的 期望的值。列舉使 更清晰,允許用描述性的名稱表示整數值,而不是用含義模糊的數來表示。列舉使 更易於鍵入。在給列舉型別的例項賦值時,vs.net ide...

列舉用法例項

函式功能是在定義的顏色陣列中查詢是否有從鍵盤中輸入的顏色,如果有則列印響應的字串,否則列印未找到的資訊,並提示是否重新輸入。使用列舉值 include include include enum spectrum 宣告列舉 const char colors 字串陣列 define len 30 in...

列舉型別遍歷例項

使用列舉型別能讓 更加的清晰易讀,要養成主動使用列舉型別的習慣。使用例項 在 中定義了如下列舉型別,該列舉型別定義的是機械加工的軸,其中比較常用的是x,y,z,c,a,b軸,u,v,w留作以後拓展。enum axis type 在程式中,需要遍歷x,y,z軸,查詢它們有沒有限位,這個時候需要使用迴圈...