我的問題是,我有一個組合框填充單位,如長度或重量ie。英寸,腳,圍場。或者Oz,Lb,Ton。反正我有枚舉如C#獲取comboBox值並從字符串轉換爲自定義枚舉
public enum Torques {
/// <remarks/>
DyneCentimeters,
/// <remarks/>
FootPounds,
/// <remarks/>
InchPounds,
/// <remarks/>
KilogramMeter,
/// <remarks/>
MeterNewtons,
}
我需要抓住下來的價值了液滴和創建匹配枚舉類型的變量的一種優雅的方式。現在我使用CASE語句,如
Computers fromUnit = Computers.Bit;
switch (compFromUnit.Text)
{
case "Bit":
fromUnit = Computers.Bit;
break;
case "Byte":
fromUnit = Computers.Byte;
break;
case "Kilobyte":
fromUnit = Computers.Kilobyte;
break;
case "Megabyte":
fromUnit = Computers.Megabyte;
break;
case "Gigabyte":
fromUnit = Computers.Gigabyte;
break;
case "Terabyte":
fromUnit = Computers.Terabyte;
break;
case "Petabyte":
fromUnit = Computers.Petabyte;
break;
default:
fromUnit = Computers.Bit;
break;
}
我的一些名單是相當漫長的,並完成這樣的項目將要求一些很長的case語句。我知道在一行代碼中必須有一些完成這一切的方法。
當我嘗試爲諸如combo.selected.Text =「Bit」combo.selected.Value =「Computers.Bit」之類的選擇賦值時,然後說出類似toUnit = combo.selected.value的內容它不能從字符串轉換。
您是使用WinForms還是WPF? – deloreyk