c 列舉 enum 型別

2021-06-03 22:17:46 字數 2880 閱讀 1466

c# 列舉 enum 型別 (is2120@csdn)

1. 最平常的方法

public

enum suits

public

void printallsuits()

}//z 2012-2-16 17:49:28 pm is2120@csdn

2. 擴充套件方法(更通用,更方便一些)

public

static

class enumextensions

}///

<

summary

>

///gets all items for an enum type.

///summary

>

///<

typeparam

name="t"

>

///<

param

name="value"

>

the value.

param

>

///<

returns

>

returns

>

public

static ienumerablegetallitems() where t : struct

}///

<

summary

>

///gets all combined items from an enum value.

///summary

>

///<

typeparam

name="t"

>

///<

param

name="value"

>

the value.

param

>

///<

returns

>

returns

>

///<

example

>

///displays valuea and valueb.

///<

code

>

///enumexample dummy 

=enumexample.combi;

///foreach (var item in dummy.getallselecteditems

<

enumexample

>

())///

///code

>

///example

>

public

static ienumerablegetallselecteditems(this enum value)}}

///<

summary

>

///determines whether the enum value contains a specific value.

///summary

>

///<

param

name="value"

>

the value.

param

>

///<

param

name="request"

>

the request.

param

>

///<

returns

>

///<

c>

true

c>

if value contains the specified value; otherwise, 

<

c>

false

c>

.///

returns

>

///<

example

>

///<

code

>

///enumexample dummy 

=enumexample.combi;

///if (dummy.contains

<

enumexample

>

(enumexample.valuea))

//////

code

>

///example

>

public

static

bool contains(this enum value, t request)

return

false;}}

//z 2012-2-16 17:51:39 pm is2120@csdn

//z the enum itself must be decorated with the flagsattribute

[flags]

public

enum enumexample

3. 在compact framework中不支援 enum.getvalues(

//z 2012-2-16 17:47:28 pm is2120@csdn

)the .net compact framework does not support enum.getvalues. here's a good workaround from ideas 2.0: enum.getvalues in compact framework:

//z 2012-2-16 17:49:28 pm is2120@csdn

public ienumerablegetvalues(enum enumeration)

return enumerations;

}c# 列舉 enum 型別 (is2120@csdn)

C 列舉型別enum

關鍵字enum用於宣告列舉,列舉是一種值型別,由許多名字的常量 也叫列舉表 組成。例如 const int monday 0 const int tuesday 1 const sunday 7 可以用c 提供的列舉型別 enum week 列舉中每乙個常量都對應著乙個數值,如果不特別設定,列舉從0...

C列舉型別enum

在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內有七天,一年有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能超過...

C 列舉型別(enum)

c 11引入了 域化的列舉,使用關鍵字 class 標記。對於unscoped 的列舉變數 和 列舉量,它們可以自動隱式轉換為整型。常用術語 enumeration type 列舉型別 enumerator 列舉量 在列舉型別中定義的常量 enum enumeration object 列舉變數 在...