Dot-Net

如何在 C# 列舉中使用特殊字元?

  • October 17, 2019

例如:

public enum Unit{
 KW,
 kV,
 V,
 Hz,
 %V
}

在這種情況下 % 是一個特殊字元。那麼,我怎樣才能把這個字元放在一個列舉中呢?

列舉成員不應用於使用者界面顯示目的。它們應該映射到字元串以便顯示。您可以創建一個字元串數組(或字典),將每個列舉成員映射到一個字元串以供使用者互動。

也就是說,要直接回答您的問題,您可以使用\uxxxxVwerexxxx是表示%. 這遠非推薦。正如 Henk 指出的那樣,這不起作用,%因為它不在 Unicode 類 Lu、Ll、Lt、Lm、Lo、Nl、Mn、Mc、Nd、Pc、Cf(字母、數字、連接和格式化字元)中。只有這些字元是可接受的標識符。

即使您可以這樣做(看起來您做不到),這也可能不是一個好主意,因為您會將列舉的顯示方式與程式碼混合在一起來操作它。更好的選擇是定義一個屬性(或使用現有的DisplayNameAttribute)並用名稱註釋您的列舉作為附加元數據:

public enum Unit{ 
 [DisplayName("Hz")] Hertz, 
 [DisplayName("%V")] Volt 
} 

引用自:https://stackoverflow.com/questions/2373986