我有这个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)
...
答案 0 :(得分:5)
尝试投射
if((FileType)type == FileType.jpeg)
或
if(type == (int)FileType.jpeg)
答案 1 :(得分:4)
因为转换不是隐含的。 C#不会在枚举类型和枚举基类型之间自动转换,因为在许多情况下,这会导致程序员不期望的行为。
请改为尝试:
if ((FileType)type == FileType.jpeg)