C#列舉和字串以及整型數之間的轉換
阿新 • • 發佈:2019-02-06
準備條件:
①列舉型別:
1 public enum enumColor 2 { 3 Red = 1, 4 Yellow, 5 Green, 6 Blue, 7 White, 8 Black 9 }
②以下狀態都是理想狀態,並未對錯誤資料進行處理。
1.列舉型別轉換為字串
private string EnumConvertToString(enumColor color) { //方法一//return color.ToString(); //方法二 return Enum.GetName(color.GetType(), color);
2.列舉型別轉換為數字
private int EnumConvertToInt(enumColor color) { return (int)color; }
3.字串轉換為列舉型別
private enumColor StringConvertToEnum(string str) { enumColor color= enumColor.Red; try { color = (enumColor)Enum.Parse(typeof(enumColor), str); } catch (Exception ex) { MessageBox.Show(ex.Message); return color; } return color; }
4.數字轉換為列舉型別
private enumColor IntConvertToEnum(int i) { if (Enum.IsDefined(typeof(enumColor), i)) { return (enumColor)Enum.ToObject(typeof(enumColor), i); } return enumColor.Red; }
或
private enumColor IntConvertToEnumOther(int i) { return (enumColor)i; }