我有以下代碼:C#迫使我明確施放它不應該的時候,爲什麼?
public enum rkError : int {EC_SUCCESS,
EC_INVALID_FILE,
EC_UNDEFINED_HEADER,
EC_FILE_NOT_FOUND,
EC_CANNOT_CREATE};
...那麼,後者於:
int ok;
.
.
.
ok = hdr.Load();
if(ok!=rkError.EC_SUCCESS) return ok;
.
.
.
......據我瞭解,雙方OK和rkError.EC_SUCCESS是int,但編譯器投訴:
錯誤CS0019:運算符'!='不能應用於'int'類型的操作數,和「test.rkError」
因此爲了運行我的節目,我必須改變,如果行這樣的:
if(ok!=(int) rkError.EC_SUCCESS) return ok;
我不明白爲什麼會這樣,因爲我把照顧明確定義rkError as int。
我使用的是MonoDevelop而不是Visual Studio。這是正常的嗎?難道我做錯了什麼?
爲什麼不應該呢? –