我的枚举应该被接受为int?

时间:2010-11-23 18:38:56

标签: c#

我有这个filetypeenum:

public enum FileType : int
{
    jpeg = 0,
    png = 1,
}

为什么我尝试比较时say == cant be applied to int type and FileType

int type = 1;
if( type == FileType.jpeg)

...

2 个答案:

答案 0 :(得分:5)

尝试投射

if((FileType)type == FileType.jpeg)

if(type == (int)FileType.jpeg)

答案 1 :(得分:4)

因为转换不是隐含的。 C#不会在枚举类型和枚举基类型之间自动转换,因为在许多情况下,这会导致程序员不期望的行为。

请改为尝试:

if ((FileType)type == FileType.jpeg)