列舉轉化和判斷方法的總結

2021-09-08 06:42:04 字數 1825 閱讀 6460

定義列舉:

public enum displaytype

1.數值轉化

(1)字元轉化為列舉

string str="up";

displaytype displaytype;

displaytype=(displaytype)system.enum.parse(typeof(displaytype),str,true);

response.write(displaytype.tostring());

結果是:up

enum.parse 方法第3個引數,如果為 true,則忽略大小寫;否則考慮大小寫。

(2)數字轉化為列舉

int i=30;

displaytype displaytype;

displaytype=(displaytype)system.enum.parse(typeof(displaytype),i.tostring());

response.write(displaytype.tostring());

結果是:down

(3)列舉轉化為字元

displaytype displaytype=displaytype.down;

string str=displaytype.tostring();

response.write(str);

結果是:down

(4)列舉轉化為數字

方法一:

displaytype displaytype=displaytype.down;

int i=convert.toint32(displaytype.tostring("d"));

response.write(i.tostring());

結果是:30

方法二:

displaytype displaytype=displaytype.down;

int i=((iconvertible)((system.enum)displaytype)).toint32(null);

response.write(i.tostring());

結果是:30

列舉的父類是system.enum,父類繼承了介面iconvertible

2.數值判斷

有時候列舉數值由外界輸入,這時候我們就得判斷輸入數值的正確性了.

(1)字元判斷

方法一:

string str="u";

if(enum.isdefined(typeof(displaytype),str))

else

結果是:error

方法二:

string str="up";

try

catch(argumentexception)

結果是:ok

enum.parse 方法的第2個引數,value 為空字串或只包含空白或value 是乙個名稱,但不是為該列舉定義的已命名常數之一就發生異常

(2)數字判斷

int i=30;

if(enum.isdefined(typeof(displaytype),i))

else

結果是:ok

列舉遍歷

foreach (string

s in

enum

.getnames(typeof

(month

)))foreach (int i in

enum

.getvalues(typeof

(month

)))

列舉轉化和判斷方法的總結

定義列舉 public enum displaytype 1.數值轉化 1 字元轉化為列舉 string str up displaytype displaytype displaytype displaytype system.enum.parse typeof displaytype str,t...

列舉轉化和判斷方法的總結

定義列舉 public enum displaytype 1.數值轉化 1 字元轉化為列舉 string str up displaytype displaytype displaytype displaytype system.enum.parse typeof displaytype str,t...

列舉轉化和判斷方法的總結

定義列舉 public enum displaytype 1.數值轉化 1 字元轉化為列舉 string str up displaytype displaytype displaytype displaytype system.enum.parse typeof displaytype str,t...