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。这是枚举的行为。有什么方法可以检查我是否为主题选择了任何值。
注意:我不想在枚举中使用任何值,例如 undefined。
您可以通过两种方式解决问题。
首先,定义一个None
代表 0
的值(或任何您想命名的名称)表示没有为 enum
选择任何内容值:
public enum subjects{
None = 0, //define this
maths,
english,
science,
}
或者,使用 Nullable<subjects>
或 subjects?
在你的类(class) ( myclass
)。
public class myclass
{
public Details DetailsInfo { get; set; }
public string name{ get; set; }
public string Email { get; set; }
public subjects? subj { get; set; } //note the question mark ?
}
在这两种方法中,第一种更为常见。因此我宁愿使用第一个。
我是一名优秀的程序员,十分优秀!