java中map集合的用法 能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?
能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?沒有好辦法。您只能創(chuàng)建一個(gè)查找表(例如,結(jié)構(gòu)數(shù)組有兩個(gè)成員:unsigned int n char STR[40])來(lái)初始化和存儲(chǔ)枚舉類型值和相應(yīng)的字符串。當(dāng)您
能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?
沒有好辦法。您只能創(chuàng)建一個(gè)查找表(例如,結(jié)構(gòu)數(shù)組有兩個(gè)成員:unsigned int n char STR[40])來(lái)初始化和存儲(chǔ)枚舉類型值和相應(yīng)的字符串。當(dāng)您想使用它時(shí),找到值并取出字符串。
請(qǐng)教怎么直接將枚舉數(shù)據(jù)enum直接轉(zhuǎn)換成字符串?
如果只需要枚舉名稱,可以使用:tostring()返回枚舉常量的名稱,該名稱包含在聲明中。您可以重寫此方法,盡管它通常是不必要的。當(dāng)有更“程序員友好”的字符串形式時(shí),應(yīng)該使用枚舉類型重寫此方法。如果需要枚舉特定值,可以使用:for(枚舉測(cè)試e:枚舉測(cè)試值()) { 系統(tǒng)輸出打印(e.tostring())}
定義顏色。讀取字符串時(shí),可以使用以下代碼獲取相應(yīng)的枚舉類型值
public enum color{red=1,green=2,blue=3}
static void main(string[]args){
string col=“blue”
color getType=(color)枚舉解析(typeof(Color),col)控制臺(tái)寫入線( getType.GetHashCode())
如果您要獲取枚舉名的輸出,可以直接用GetType替換output語(yǔ)句
~]//T是要轉(zhuǎn)換的枚舉類型
//text是字符串
返回值是枚舉值之一。
字符串如何轉(zhuǎn)化為對(duì)應(yīng)的枚舉值C語(yǔ)言?
讓我回答你的問(wèn)題。這個(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è)問(wèn)題中,使用enum不是一個(gè)好方法。因?yàn)樵趕witch()中,您應(yīng)該在括號(hào)中填寫一個(gè)變量。但是,根據(jù)您編寫的代碼,庫(kù)應(yīng)該用括號(hào)填充,并且enum定義的庫(kù)是一個(gè)類型,而不是一個(gè)變量,所以這樣做是錯(cuò)誤的。不使用enum就可以很容易地解決這個(gè)問(wèn)題。