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