平時我們可以使用列舉(enum) 來避免「魔法數字」,可以將我們自訂的各種狀態變成強型別,方便在程式中使用:
也可以在列舉上自訂代表的資料值:
但是非常可惜的就是列舉無法簡單的儲存字串(string)資料。
筆者在這裡提供了一種邪門歪道,使用元組(Tuple)來假裝成是列舉(enum),達成既可以是強型別又可以儲存字串的簡單方式:
使用方式如下:
非常簡單!
不過缺點就是他沒有辦法簡單的歷遍,沒有辦法簡單的在字串和類型中轉換,不過相信在特定的情境中這個方式還是是有點用處的,分享給大家!
public enum IceLevels
{
None,
Little,
Less,
Normal,
More,
}
也可以在列舉上自訂代表的資料值:
public enum IceLevels
{
None = 0,
Little = 1,
Less = 2,
Normal = 3,
More = 4,
}
但是非常可惜的就是列舉無法簡單的儲存字串(string)資料。
筆者在這裡提供了一種邪門歪道,使用元組(Tuple)來假裝成是列舉(enum),達成既可以是強型別又可以儲存字串的簡單方式:
public static (string None, string Little, string Less, string Normal, string More) IceLevels = ("去冰", "微冰", "少冰", "正常冰", "多冰");
使用方式如下:
var iceLevelsNormal = IceLevels.Normal;
Console.WriteLine(iceLevelsNormal); // 正常冰
非常簡單!
不過缺點就是他沒有辦法簡單的歷遍,沒有辦法簡單的在字串和類型中轉換,不過相信在特定的情境中這個方式還是是有點用處的,分享給大家!
感謝分享~
回覆刪除