1、關於enum的定義
enum2、符號名和常數值的互相轉換fabric
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;
例二:5、列舉作為函式引數。經常和switch結合起來使用。下面舉例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
*/
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 了。列舉值可...