![](/img/trans.png)
[英]Check enum null when it is not nullable and do not have any null options
[英]How to do null check for enum
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。 这是枚举的行为。 有什么方法可以检查我是否为主题选择了任何值。
注意:我不想使用枚举中未定义的任何值。
您可以通过两种方式解决该问题。
首先,定义一个None
值(或您要命名的None
值),该值表示0
,表示没有选择enum
值:
public enum subjects{
None = 0, //define this
maths,
english,
science,
}
或者,使用Nullable<subjects>
还是subjects?
在您的班级( 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 ?
}
在这两种方法中,第一种较为常见。 因此,我宁愿使用第一个。
您可以将类更改为如下形式:
public class myclass
{
public Details DetailsInfo { get; set; }
public string name{ get; set; }
public string Email { get; set; }
public subjects? subject { get; set; }
}
这样主题就可以为空。 这意味着您尚未设置它。 它将为空
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.