java枚舉用法示例 c#怎么獲取枚舉類型的值用字符串?
c#怎么獲取枚舉類型的值用字符串?枚舉是一個(gè)迂回過程,因此無法設(shè)置其他類名。如果您正在開發(fā)上層應(yīng)用程序,建議使用Java或C#。否則,你會(huì)被類似的不快樂逼瘋。例如,沒有string.format格式(
c#怎么獲取枚舉類型的值用字符串?
枚舉是一個(gè)迂回過程,因此無法設(shè)置其他類名。如果您正在開發(fā)上層應(yīng)用程序,建議使用Java或C#。否則,你會(huì)被類似的不快樂逼瘋。例如,沒有string.format格式(), 字符串。拆分)標(biāo)準(zhǔn)庫(kù)的容器沒有默認(rèn)的toString方法,也沒有默認(rèn)的重載<<。。。要么引入一個(gè)巨大的第三方庫(kù),要么重建輪子。
把string當(dāng)enum用,有性能損失嗎?
是的。
以C語言為例,在內(nèi)存中創(chuàng)建一個(gè)字符串至少需要存儲(chǔ)一個(gè)字符數(shù)組,因?yàn)樗枰鎯?chǔ)結(jié)束標(biāo)識(shí)符;而枚舉實(shí)際上是一種結(jié)構(gòu),枚舉項(xiàng)可以定義為整數(shù),這比字符串存儲(chǔ)更方便、更便宜。
此外,如果字符串用作枚舉,則字符串很容易被錯(cuò)誤寫入,并且枚舉被定義為數(shù)字常量。編譯器在編譯時(shí)容易發(fā)現(xiàn)錯(cuò)誤,并提示開發(fā)人員及時(shí)改正,易于維護(hù)。