在这个类中使用枚举的作用是什么?

时间:2012-11-30 20:41:55

标签: c# enums

我通过网络搜索找到了下面的代码,我不明白为什么作者在该类中使用枚举。这是为了限制价值吗?是这样,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; }     
}

2 个答案:

答案 0 :(得分:12)

枚举用作一种在编程中更容易识别的方式表示数字数据的方法。

在枚举后面,是一个从零开始播种的整数数据类型,因此在这种情况下,Male为0,Female为1.这允许您在代码中包含字符串Male和Female,同时将结果存储为整数而不是一个更容易存储和带宽的字符串。

这里枚举的原因很简单。他们可以对其进行ToString并获取字符串“Male”或“Female”进行报告,如果需要,他们还可以在后面添加“未知”或“未指定”的其他值。

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

答案 1 :(得分:1)

枚举用于将数据约束到一组特定值,例如:

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

然后,在代码中,无论何处调用Month类型,调用代码都可以引用Month枚举的其中一个成员(例如:var month = Month.February)。