4 回答

TA貢獻1848條經(jīng)驗 獲得超10個贊
c語言里的枚舉實際上是結構體,枚舉項是變量名,沒法直接獲得的……你可以再自己定義一個字符串數(shù)組:
char numberString[30][MAX_LENGTH]={"ZERO","ONE","TWO"}
在需要用到原來枚舉的地方這樣調用
numberString[num.ZERO]

TA貢獻1779條經(jīng)驗 獲得超6個贊
將枚舉的值轉換為對應的名字
inthashCode = Color.Red.GetHashCode(); stringenumParseStr = Enum.Parse(typeof(Color), hashCode.ToString()).ToString();Enum.Parse()得到的值是object類型的,我們要轉換的是值,得到的是名字,因此ToString()得到名字。
將枚舉的名字轉換為對應的值
stringstr = Color.Red.ToString(); intenumParseInt = Convert.ToInt32(Enum.Parse(typeof(Color), str));這里要轉換的是名字,得到的是值,因此用Convert.ToInt32()得到該值。

TA貢獻1876條經(jīng)驗 獲得超5個贊
tostring方法。
----------------
回答你的補充提問:
我覺得那樣為什么要定義成枚舉?定義成數(shù)組也許好些吧?或者定義哈希表之類的對應起來,
兩者可以互相查。

TA貢獻1804條經(jīng)驗 獲得超2個贊
可以這樣做:
NUMBERLIST s = (NUMBERLIST)Enum.Parse(typeof(NUMBERLIST), 1);
- 4 回答
- 0 關注
- 158 瀏覽
添加回答
舉報