1. 程式人生 > >C#列舉和字串以及整型數之間的轉換

C#列舉和字串以及整型數之間的轉換

準備條件:

①列舉型別:

複製程式碼
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;
        }