string轉(zhuǎn)枚舉類型 字符串如何轉(zhuǎn)化為對(duì)應(yīng)的枚舉值C語(yǔ)言?
字符串如何轉(zhuǎn)化為對(duì)應(yīng)的枚舉值C語(yǔ)言?定義顏色。讀取字符串時(shí),可以使用以下代碼獲取相應(yīng)枚舉類型的值public enum color{red=1,green=2,blue=3}靜態(tài)void main(s
字符串如何轉(zhuǎn)化為對(duì)應(yīng)的枚舉值C語(yǔ)言?
定義顏色。讀取字符串時(shí),可以使用以下代碼獲取相應(yīng)枚舉類型的值
public enum color{red=1,green=2,blue=3}
靜態(tài)void main(string[]args){
string col=“blue”
color GetType=(color)枚舉解析(typeof(Color),col)控制臺(tái)寫入線( getType.GetHashCode())
如果您想得到枚舉名的輸出,可以直接用GetType替換output語(yǔ)句
能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?
沒有好辦法,您可以只能創(chuàng)建一個(gè)查找表(結(jié)構(gòu)數(shù)組,例如,有兩個(gè)成員:unsigned int n char)STR[40]),它初始化并存儲(chǔ)枚舉類型值和相應(yīng)的字符串。當(dāng)您想使用它時(shí),找到值并取出字符串。
如何將枚舉型的某一值轉(zhuǎn)為string?
toString()方法已被枚舉覆蓋。請(qǐng)參閱API解釋以返回包含在聲明中的枚舉常量的名稱。您可以重寫此方法,盡管它通常是不必要的。當(dāng)有更“程序員友好”的字符串形式時(shí),應(yīng)該使用枚舉類型重寫此方法。換句話說(shuō),不需要重寫這個(gè)方法,除非您想輸入更友好的內(nèi)容。我來(lái)回答你的問題。這個(gè)枚舉是一個(gè)與類無(wú)關(guān)的類型,因此它與類中的類型有本質(zhì)的不同。它是用戶定義的,因此不需要用“”符號(hào)表示字符串,也不需要用“”符號(hào)表示字符。例如,在定義enum時(shí),可以直接編寫enum e={OK,Anyang,123}。它有兩個(gè)值,默認(rèn)情況下會(huì)自動(dòng)顯示。但是如果在后面加上a=1,你就能看到效果。這是它的位置,即enum e={OK=1,安陽(yáng),123}。我們知道不能添加string和int類型,但是在這里,可以解釋為它是一種重塑,它支持的連接包括:byte、sbyte、short、USHORT、int、uint、long、ulong;它與類中的類型有本質(zhì)的不同。在這個(gè)問題中,使用enum不是一個(gè)好方法。因?yàn)樵趕witch()中,您應(yīng)該在括號(hào)中填寫一個(gè)變量。但是,根據(jù)您編寫的代碼,庫(kù)應(yīng)該用括號(hào)填充,并且enum定義的庫(kù)是一個(gè)類型,而不是一個(gè)變量,所以這樣做是錯(cuò)誤的。不使用enum就可以很容易地解決這個(gè)問題。