C Enum,Int,String的互相轉換

2022-01-23 08:51:01 字數 1801 閱讀 3172

**:    稍作修改

enum為列舉提供基類,其基礎型別可以是除 char 外的任何整型。如果沒有顯式宣告基礎型別,則使用 int32。程式語言通常提供語法來宣告由一組已命名的常數和它們的值組成的列舉。

注意:列舉型別的基型別是除 char 外的任何整型,所以列舉型別的值是整型值。

enum 提供一些實用的靜態方法:

(1)比較列舉類的例項的方法

(2)將例項的值轉換為其字串表示形式的方法

(3)將數字的字串表示形式轉換為此類的例項的方法

(4)建立指定列舉和值的例項的方法。

舉例:enum colors ;

enum-->string

(1)利用object.tostring()方法:如colors.green.tostring()的值是"green"字串;

(2)利用enum的靜態方法getname與getnames:

public static string

getname(type

enumtype,object

value)

public static string

getnames(type

enumtype)

例如:enum.getname(typeof(colors),3))與enum.getname(typeof(colors), colors.blue))的值都是"blue"

enum.getnames(typeof(colors))將返回列舉字串陣列。

string-->enum

(1)利用enum的靜態方法parse:

public static object

parse(type

enumtype,string

value)

例如:(colors)enum.parse(typeof(colors), "red")

string-->int

(1)利用enum的靜態方法parse:

例如:(int)enum.parse(typeof(colors), "red",false);

parse函式最後乙個引數,true代表忽略大小寫,false代表不忽略大小寫。

enum-->int

(1)因為列舉的基型別是除 char 外的整型,所以可以進行強制轉換。

例如:(int)colors.red, (byte)colors.green

int-->enum

(1)可以強制轉換將整型轉換成列舉型別。

例如:colors color = (colors)2 ,那麼color即為colors.blue

(2)利用enum的靜態方法toobject。

public static object

toobject(type

enumtype,int

value)

例如:colors color = (colors)enum.toobject(typeof(colors), 2),那麼color即為colors.blue

判斷某個整型是否定義在列舉中的方法:enum.isdefined

public static bool

isdefined(type

enumtype,object

value)

例如:enum.isdefined(typeof(colors), n))

C Enum,Int,String的互相轉換

c enum,int,string的互相轉換 enum為列舉提供基類,其基礎型別可以是除 char 外的任何整型。如果沒有顯式宣告基礎型別,則使用 int32。程式語言通常提供語法來宣告由一組已命名的常數和它們的值組成的列舉。注意 列舉型別的基型別是除 char 外的任何整型,所以列舉型別的值是整型...

C Enum,Int,String的互相轉換

enum為列舉提供基類,其基礎型別可以是除 char 外的任何整型。如果沒有顯式宣告基礎型別,則使用int32。程式語言通常提供語法來宣告由一組已命名的常數和它們的值組成的列舉。注意 列舉型別的基型別是除char外的任何整型,所以列舉型別的值是整型值。enum 提供一些實用的靜態方法 1 比較列舉類...

C Enum,Int,String的互相轉換

1 enum string 1 利用object.tostring 方法 如colors.green.tostring 的值是 green 字串 2 利用enum的靜態方法getname與getnames public static string getname type enumtype,obje...