2010-11-23 48 views
0

我有這個filetypeenum:我的枚舉應該被接受爲int?

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

爲什麼它say == cant be applied to int type and FileType當我嘗試比較:

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

回答

4

因爲轉換不隱。 C#不會自動在枚舉類型和枚舉基類型之間進行轉換,因爲在很多情況下,這會導致程序員不期望的行爲。

試試這個:

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

嘗試鑄造它

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

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

+1另一種方法,如果(類型==(INT)FileType.jpeg) – 2010-11-23 18:40:53

+0

就像我更新。 :) – hunter 2010-11-23 18:41:36