![](/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.