我创建了两个枚举,我知道它们不一样,但我仍然认为它们相等是有道理的,因为它们的字符串表示形式和数字表示形式是相等的(甚至是相同的......)。
换句话说:我希望第一个测试通过,第二个测试失败。然而实际上,他们都失败了。所以:C# 中的两个枚举何时相等?或者无论如何要在 C# 中定义等号运算符?
谢谢!
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)所以到目前为止所有的答案都是比较表示,无论是整数还是字符串。我收集的枚举本身总是不平等的?没有办法为它定义平等吗?