在c#中创建可空数据类型

时间:2011-03-29 11:05:34

标签: c# nullable

我有一个名为

的数据类型
public enum Gender { Male, Female }

但有些情况我需要将性别的价值作为空的。那么如何在C#中创建可以为空的性别

4 个答案:

答案 0 :(得分:8)

要么

Gender? myGender = null;

或者

Nullable<Gender> myGender = null;

第一个变体与第二个变体完全相同,但它只是C#语法糖,以减轻可空变量的可读性。

答案 1 :(得分:4)

  

有一个名为public enum的数据类型   性别= {男,女};但有些情况   我需要传递性别的价值   为空

实际上在医学上有两种以上的性别。无论如何,除了....

Nullable<Gender> ....你不需要那个。

Gender.Undefined = 0有效且根据最佳做法需要。根据.NET枚举编码指南,每次都需要Gender.Nothing

答案 2 :(得分:0)

这是您在C#

中创建Nullable类型的方法
Nullable<Gender>

或简称:

Gender?

答案 3 :(得分:0)

如果您的应用程序应该像任何其他性别一样处理“未指定”的性别,那么以这种方式执行通常很有用:

public enum Gender
{
  Unspecified,
  Male, 
  Female,
}

请注意,在这种情况下,“Unspecified”将是枚举的默认值,因为它的值为零/ 0。因此,在声明Gender变量而不为其赋值时,它将自动“未指定”。