的潛在價值,我有以下枚舉聲明:如何獲得一個枚舉
public enum TransactionTypeCode { Shipment = 'S', Receipt = 'R' }
如何從一個TransactionTypeCode.Shipment或TransactionTypeCode.Receipt「R」得到值「S」?
只要執行TransactionTypeCode.ToString(),就會給出一個Enum名稱爲「Shipment」或「Receipt」的字符串,因此它不會切斷芥末。
其實它更復雜一點,我從我的示例複製錯誤的代碼,你不能有一個枚舉值的字符串。所以完整的答案將是((char)instance.Shipment),ToString() – 2008-09-18 22:02:11
@GeorgeMauer你的枚舉的「基礎類型」仍然是「int」,所以你的定義真的說:`enum TransactionTypeCode {Shipment = 83,Receipt = 82,}`。出於某種原因,有一個從`char`到`int`的隱式轉換。你的枚舉唯一的「問題」(這可能不是問題)是`default(TransactionTypeCode)`沒有名字,因爲沒有成員等於0(或`'\ 0'`)。 – 2012-06-06 09:24:31
這個答案在每個級別上都是明確錯誤的。先從它不會編譯的事實入手,繼續說明枚舉不是字符串,字符不是字符串,並且枚舉的基礎類型不是 - 也不是 - 字符串。 – 2014-05-21 16:24:31