java中map集合的用法 能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?
能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?沒有好辦法。您只能創(chuàng)建一個查找表(例如,結(jié)構(gòu)數(shù)組有兩個成員:unsigned int n char STR[40])來初始化和存儲枚舉類型值和相應(yīng)的字符串。當(dāng)您
能不能高效優(yōu)雅地將枚舉變量轉(zhuǎn)換成字符串?
沒有好辦法。您只能創(chuàng)建一個查找表(例如,結(jié)構(gòu)數(shù)組有兩個成員:unsigned int n char STR[40])來初始化和存儲枚舉類型值和相應(yīng)的字符串。當(dāng)您想使用它時,找到值并取出字符串。
請教怎么直接將枚舉數(shù)據(jù)enum直接轉(zhuǎn)換成字符串?
如果只需要枚舉名稱,可以使用:tostring()返回枚舉常量的名稱,該名稱包含在聲明中。您可以重寫此方法,盡管它通常是不必要的。當(dāng)有更“程序員友好”的字符串形式時,應(yīng)該使用枚舉類型重寫此方法。如果需要枚舉特定值,可以使用:for(枚舉測試e:枚舉測試值()) { 系統(tǒng)輸出打?。╡.tostring())}
定義顏色。讀取字符串時,可以使用以下代碼獲取相應(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)控制臺寫入線( getType.GetHashCode())
如果您要獲取枚舉名的輸出,可以直接用GetType替換output語句
~]//T是要轉(zhuǎn)換的枚舉類型
//text是字符串
返回值是枚舉值之一。
字符串如何轉(zhuǎn)化為對應(yīng)的枚舉值C語言?
讓我回答你的問題。這個枚舉是一個與類無關(guān)的類型,因此它與類中的類型有本質(zhì)的不同。它是用戶定義的,因此不需要用“”符號表示字符串,也不需要用“”符號表示字符。例如,在定義enum時,可以直接編寫enum e={OK,Anyang,123}。它有兩個值,默認(rèn)情況下會自動顯示。但是如果在后面加上a=1,你就能看到效果。這是它的位置,即enum e={OK=1,安陽,123}。我們知道不能添加string和int類型,但是在這里,可以解釋為它是一種重塑,它支持的連接包括:byte、sbyte、short、USHORT、int、uint、long、ulong;它與類中的類型有本質(zhì)的不同。在這個問題中,使用enum不是一個好方法。因為在switch()中,您應(yīng)該在括號中填寫一個變量。但是,根據(jù)您編寫的代碼,庫應(yīng)該用括號填充,并且enum定義的庫是一個類型,而不是一個變量,所以這樣做是錯誤的。不使用enum就可以很容易地解決這個問題。