5

C# で次のようなものを作成できることに気付きました。

enum TestEnum
{
  First = 1,
  Second = 1,
  Third = 2
}

[TestMethod]
public void Test()
{
  TestEnum test = TestEnum.First;
  var en = (TestEnum) 1;//And en is now set to First
}

enums の値は一意である必要があります。現在、列挙型で各値が 1 回だけ使用されていることを確認する単体テストを作成しました。一意性を強制するより良い方法はありますか?

4

1 に答える 1

5

列挙型は、整数に意味を与えるために使用されます。Second = 1 と言うと意味がありませんが、次のような例を考えてみてください。

enum HumanEnum
{
    Man = 1,
    Woman = 0,
    Lady = 0,
    Boy = 1,
    Girl = 0
}

0 と 1 が性別を​​表すとしましょう。このように、男性と少年は同じ性別の値を持ちます。

于 2013-07-09T13:39:24.690 に答える