0

ウェブ検索で以下のコードを見つけましたが、作成者がそのクラスで列挙型を使用する理由がわかりません。値制限のためですか?そのため、WhichSex は「男性」と「女性」の文字列値のみを使用できますか?

public class Person
{
   public enum Sex
   {
      Male,
      Female,
   }
   public string Name { get; set; }
   public bool Moustache { get; set; }
   public bool Goatee { get; set; }
   public bool Beard { get; set; }
   public Sex WhichSex { get; set; }
   public double Height { get; set; }
   public DateTime BirthDate { get; set; }
   public bool Favorite { get; set; }     
}
4

2 に答える 2

12

列挙型は、プログラミングでより簡単に認識できる方法で数値データを表す方法として使用されます。

列挙型の背後には、ゼロから始まる整数データ型がシードされているため、この場合、Male は 0 で Female は 1 です。ストレージと帯域幅の点でより簡単です。

ここで enum を使用する理由は単純です。ToString して、レポート用に文字列「男性」または「女性」を取得できます。また、必要に応じて、後で「不明」または「指定なし」に別の値を追加することもできます。

http://msdn.microsoft.com/en-us/library/sbbt4032%28v=vs.80%29.aspx

于 2012-11-30T20:45:19.583 に答える
1

列挙は、データを特定の値のセットに制限するために使用されます。たとえば、次のようになります。

enum Month
{
   January,
   February,
   March,
   April,
   May,
   June,
   July,
   August,
   September,
   October,
   November,
   December
}

次に、コード内でMonth型が呼び出された場合はいつでも、呼び出し元のコードは Month 列挙型のメンバーの 1 つを参照できます (例: var month = Month.February)。

于 2012-11-30T20:45:16.700 に答える