2015-11-04 110 views
1

一直在尋找Enumint qa's,有很多類型鑄造(int)Enum,但是我找不到任何建議使用Convert.ToInt32(Enum)的答案。枚舉爲int,爲什麼使用類型轉換爲int而不是Convert.ToInt32(Enum)?

是否有任何理由喜歡使用Convert.ToInt32的類型轉換?

+1

我想你在談論這個http://stackoverflow.com/a/909884/2187558 –

+0

可讀性(int)Enum – Patrick2607

+0

的基礎類型已經是一個整型,您不需要從其他數據類型轉換它。 –

回答

3

默認情況下,枚舉從int繼承,即它是在幕後:

enum Foo : int 
    { 
     A, 
     B 
    } 

在C#中,有Int32int之間沒有什麼區別。所以使用Convert.ToInt32(Foo.A)有點多餘,因爲執行(int)Foo.A就足夠了。就個人而言,(int)Foo.A也讀得好多了。請注意,你只真的有情況看這個,你定義了你的枚舉,如下所示:

enum Foo : long 
    { 
     A, 
     B 
    }