枚舉在C#中都會用到,但是你是否想過,枚舉之間怎麼轉換?這篇文章我就來說一下枚舉之間的轉換。
C# 是不支持不同枚舉之間的轉換的,但是 CLR 支持,因此我們可以利用 CLR 賦值的兼容性來實現枚舉之間的轉換。看一下代碼你就明白了:
enum Country1
{
CN,
USA,
UK,
JP
}
enum Country2
{
CN,
USA,
UK,
JP
}
class Orogram
{
static void Main()
{
Country1[] c1 = (Country1[])(Array) new Country2[50];
}
}
上面代碼十分簡單,主要是利用了 Array 來進行操作的。需要注意的是兩個枚舉類型不許具有相同的基類型纔可以利用這個方法轉換。
在實際項目中枚舉之間轉換幾乎沒什麼用,並且有可能出現意想不到的結果。