[分享][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軸,查詢它們有沒有限位,這個時候需要使用迴圈...