在通過一些舊的代碼看,我遇到了這個枚舉:爲什麼這個多餘的逗號編譯?
public enum cmdResults
{
cmdNotFound = 0,
cmdFound = 1,
cmdExit = 2,
cmdSuccess = 3,
cmdFail = 4,
cmdTimeout = 5,
cmdProcess = 6,
cmdAddTime = 7,
};
在注意到最後枚舉成員之後的逗號,我被驚呆了;我刪除了它,並且正如預期的那樣,它仍然被編譯。但爲什麼它的與工作最後的逗號?
(而這還不提陌生到我訂貨的成員,我要麼把新的「cmdNothing」在索引0,或者至少有「cmdFail」採取點)
排序可以通過枚舉值隨時間增長來解釋。新的值不能取代現有的值,否則任何調用此方法的代碼 - 枚舉公開 - 都會中斷。 – ChrisF 2013-03-19 20:55:56