C# 枚舉的使用簡介_第1頁
C# 枚舉的使用簡介_第2頁
C# 枚舉的使用簡介_第3頁
C# 枚舉的使用簡介_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第C#枚舉的使用簡介如果要顯示指定枚舉的底層數(shù)據(jù)類型很簡單,只需在聲明枚舉的時候加個冒號,后面緊跟要指定的數(shù)據(jù)類型(可指定類型有:byte、sbyte、short、ushort、int、uint、long、ulong)。

顯式設(shè)置枚舉的成員常量值,默認(rèn)是從0開始,逐個遞增的。但是以下例子卻設(shè)置成了1,2,3,0。而且成員值可以一樣的。

如下示例:由枚舉值獲取枚舉名稱與由枚舉名稱獲取枚舉值

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

namespaceenumApplication

classProgram

staticvoidMain(string[]args)

//輸出方式一:

Console.WriteLine("我是四大名著之一的:"+Enum.GetName(typeof(Man),1));//西游記(是哪個名著由值獲?。?/p>

//輸出方式二:

string[]array1=Enum.GetNames(typeof(Man));

Console.WriteLine("我是四大名著之一的:"+array1[2]);//紅樓夢(是哪個名著由值獲?。?/p>

//輸出方式三:

Arrayarray2=Enum.GetValues(typeof(Man));

Console.WriteLine("我是四大名著之一的:"+array2.GetValue(3));//三國演義(是哪個名著由值獲取)

//輸出方式四:

Typet=Enum.GetUnderlyingType(typeof(Man));

Console.WriteLine("我輸出的是值類型:"+t);//輸出Int32

//輸出方式五:由值獲取內(nèi)容

inti=0;

stringName=Enum.Parse(typeof(Man),i.ToString()).ToString();//此時Name="水滸傳"

Console.WriteLine("我是四大名著之一的:"+Name);

//輸出方式六:由值獲取內(nèi)容

stringName2="紅樓夢";

intj=Convert.ToInt32(Enum.Parse(typeof(Man),Name2));//此時j=2

Console.WriteLine("我是《紅樓夢》對應(yīng)的值序號:"+j);

Console.ReadKey();

enumMan:int//四大名著枚舉

西游記=1,

紅樓夢=2,

三國演義=3,

水滸傳=0

}

2、標(biāo)志枚舉

標(biāo)志枚舉要在頂部加[System.Flags]特性進行聲明。而且枚舉支持組合運算。

這種位運算是非常有用的,在sql語句里也支持位運算。也就是說,把一個枚舉運算后的結(jié)果存入數(shù)據(jù)庫之后,還能夠按照你的要求讀取出來。比如:

將一個"高帥"存如數(shù)據(jù)庫的值存入數(shù)據(jù)庫,那么存入去的就是整型5。

select*fromTablewhereColumn1=1//Column是列名

select*fromTable1whereColumn|1=Column

如下demo:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

namespaceenumApplication

classProgram

staticvoidMain(string[]args)

varman=People.高|People.帥;//賦值為101計算方法001或上100,結(jié)果是101

Console.WriteLine("高和帥的枚舉值和為:"+(int)man);

if((manPeople.高)==People.高)//101man

{//001高逐位相與,

Console.WriteLine("此人:高");//001如果結(jié)果是高,就可以反推出man包含高

else

Console.WriteLine("此人:矮");

Console.ReadKey();

[System.Flags]

publicenumPeople:int

高=1,//001

富=2,//010

帥=4,//100

}

3、枚舉使用的一些建議

作為參數(shù)、返回值、變量等類型可以使枚舉,盡量使用枚舉(要注意考慮分類的穩(wěn)定性)

大多數(shù)情況下都可以使用int類型枚舉,下列情況除外。

枚舉可能被大量頻繁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論