私は2つの列挙型を作成していると私は、彼らが同じではありませんが、それでも私はそれが彼らの文字列表現だけでなく、その数字の表現が同じ(とさえ同じであるため、彼らは等しいだろう理にかなっていると思います知っています... )。C#で2つの列挙型が等しいのはいつですか?
つまり、最初のテストに合格し、2番目のテストに失敗します。しかし、実際にはどちらも失敗します。それでは、C#の2つの列挙型はいつ等しいのですか?または、とにかく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);
}
UPDATEは:1)だから、答えは、これまでのすべての表現を比較し、それがint型や文字列です。 enum 自体ははいつも私は不平等ですか?それに対して平等を定義する手段はありませんか?
重複:http://stackoverflow.com/questions/1410131/comparing-two-enum-types-for-equivalence –
@Robert:興味深いリンクに感謝します。明らかに重複しない:列挙型の値を求めます。 – Peter