我已經創建了兩個枚舉,我知道他們不是相同但我仍然認爲他們會是等於因爲他們的字符串表示以及他們的數字表示是相等的(甚至相同... )。C#中兩個枚舉何時相等?
換句話說:我想第一個測試通過,第二個測試失敗。但實際上,它們都失敗了。所以:C#中的兩個枚舉何時等於?還是有無法在C#中定義equals運算符?
謝謝!
public enum enumA {one, two}
public enum enumB {one, two}
[Test]
public void PreTest()
{
Assert.AreEqual(enumA.one,enumB.one);
Assert.AreSame(enumA.one, enumB.one);
}
更新:1)所以到目前爲止答案都比較表示,無論是整數或字符串。枚舉本身總是不平等我收集?沒有辦法定義它的平等嗎?
重複:http://stackoverflow.com/questions/1410131/comparing-two-enum-types-for-eivaivaiva – 2009-11-05 21:25:02
@羅伯特:感謝您的鏈接,有趣和相關。顯然不重複:它要求枚舉的值。 – Peter 2009-11-05 21:30:04