我有一个名为
的数据类型public enum Gender { Male, Female }
但有些情况我需要将性别的价值作为空的。那么如何在C#中创建可以为空的性别
答案 0 :(得分:8)
要么
Gender? myGender = null;
或者
Nullable<Gender> myGender = null;
第一个变体与第二个变体完全相同,但它只是C#语法糖,以减轻可空变量的可读性。
答案 1 :(得分:4)
有一个名为public enum的数据类型 性别= {男,女};但有些情况 我需要传递性别的价值 为空
实际上在医学上有两种以上的性别。无论如何,除了....
Nullable<Gender>
....你不需要那个。
Gender.Undefined = 0
有效且根据最佳做法需要。根据.NET枚举编码指南,每次都需要Gender.Nothing
。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您的应用程序应该像任何其他性别一样处理“未指定”的性别,那么以这种方式执行通常很有用:
public enum Gender
{
Unspecified,
Male,
Female,
}
请注意,在这种情况下,“Unspecified”将是枚举的默认值,因为它的值为零/ 0。因此,在声明Gender变量而不为其赋值时,它将自动“未指定”。