public class myclass
{
public Details DetailsInfo { get; set; }
public string name{ get; set; }
public string Email { get; set; }
public int subjects{ get; set; }
}
public enum subjects{
maths,
english,
science,
}
这些科目中有一个词汇。即使我没有为主题输入任何值,它默认为0。这是枚举的行为。有没有办法检查我是否为主题选择了任何值。
注意:我不想在枚举中使用任何未定义的值。
答案 0 :(得分:5)
您可以通过两种方式解决问题。
首先,定义forbidden to modify the list
值(或任何您想要命名的值),代表None
,表示没有为0
值选择任何内容:
enum
或者,在您的班级public enum subjects{
None = 0, //define this
maths,
english,
science,
}
)中使用Nullable<subjects>
或subjects?
。
myclass
在这两种方法中,第一种更常见。因此,我宁愿使用第一个。
答案 1 :(得分:0)
您可以将课程更改为:
public class myclass
{
public Details DetailsInfo { get; set; }
public string name{ get; set; }
public string Email { get; set; }
public subjects? subject { get; set; }
}
使主题可以为空。这意味着当你没有设置它。它将为null