關於enum應用的總結zz

2021-04-14 00:54:46 字數 3035 閱讀 8897

1、關於enum的定義

enum

fabric

2、符號名和常數值的互相轉換

fabric fab = fabric.cotton;

int fabnum =

(int)fab;//轉換為常數值。必須使用強制轉換。

fabric fabstring = (fabric)1;//常數值轉換成符號名。如果使用tostr

ing(),則是

((fabric)1).tostring(),注意必須有括號。

string fabtype = fab.tostring();//顯示符號名

string fabval = fab.tostring ("

d");//顯示常數值

3、獲得所有符號名的方法(具體參見enum類)

public enum myfamily

foreach (string s in

enum.getnames(typeof(myfamily)))

4、將列舉作為位標誌來處理

根據下面的兩個例子,粗略地說,一方面,設定標誌[flags

]或者[flagsattribute],則表明要將符號名列舉出

來;另一方面,可以通過強制轉換,將數字轉換為

符號名。說不準確。看下面的例子體會吧。注意:

例一:

fabric fab = fabric.cotton | fabric.rayon | fabric.silk;

console.writeline("myfabric = ", fab);//輸出:fabric.cotton | fabric.rayon | fabric.silk;

例二:

class flagsattributedemo ;

// define an enum with flagsattribute.

[flagsattribute]

enum multihue : short ;

static void main( )

- ", val, ( (singlehue)val ).tostring( ) );

console.writeline( "/nall possible combinations of values of an /n" + "enum with flagsattribute:/n" );

// display all possible combinations of values.

// also display an invalid value.

for( int val = 0; val <= 8; val++ )

console.writeline ( " - ", val, ( (multihue)val ).tostring( ) );

}

} /*

this example of the flagsattribute attribute

generates the following output.

all possible combinations of values of an

enum without flagsattribute:

0 - black

1 - red

2 - green

3 - 3

4 - blue

5 - 5

6 - 6

7 - 7

8 - 8

all possible combinations of values of an

enum with flagsattribute:

0 - black

1 - red

2 - green

3 - red, green

4 - blue

5 - red, blue

6 - green, blue

7 - red, green, blue

8 - 8

*/

5、列舉作為函式引數。經常和switch結合起來使用。下面舉例

public static double getprice(fabric fab)

}6、上面三點乙個完整的例子

//1、enum的定義

public enum fabric : short

//將列舉作為引數傳遞

public static double getprice(fabric fab) }

public static void main()

/nfabtype = /nfabval = /n", fabnum, fabtype, fabval);

console.writeline("cost = ", cost);

}7、enum類的使用

enum.isdefinde、enum.parse兩種方法經常一起使用,來確定乙個值或符號是否是乙個列舉的成員,然後建立乙個例項。enum.getname列印出乙個成員的值;enum.getnames列印出所有成員的值。其中注意typeof的使用。這一點很重要。

public enum myfamily

string s = "yanghaoran";

if (enum.isdefined(typeof(myfamily), s))

}

關於enum應用的總結

1 關於enum的定義 public enum 審核不通過 notpassed 1,未審核 0,審核通過 passed 1 2 符號名和常數值的互相轉換 int fabnum int status 轉換為常數值。必須使用強制轉換。1 string status.tostring 顯示符號名 stri...

關於enum應用的總結

1 關於enum的定義 public enum 審核不通過 notpassed 1,未審核 0,審核通過 passed 1 2 符號名和常數值的互相轉換 int fabnum int status 轉換為常數值。必須使用強制轉換。1 string status.tostring 顯示符號名 stri...

列舉enum的應用

列舉學習 enum weekday enum weekday day 也可以為 enum weekday day 如果有賦值語句 day mon 則 day 變數的值為 1。enum weekdayday 這時,sun 為 7,mon 為 1,以後元素順次加 1,所以 sat 就是 6 了。列舉值可...