枚举为int,为什么使用类型转换为int而不是Convert.ToInt32(Enum)?

时间:2015-11-04 23:22:16

标签: c# enums

一直在查看Enumint qa,(int)Enum有很多类型,但我找不到任何建议使用Convert.ToInt32(Enum)的答案

有没有理由比使用Convert.ToInt32更喜欢使用类型转换?

1 个答案:

答案 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
    }