Создание обнуляемых типов данных в C # - PullRequest
3 голосов
/ 29 марта 2011

У меня есть тип данных с именем

public enum Gender { Male, Female }

Но в некоторых случаях мне нужно передать вейл для пола как пустой. Так, как я могу создать обнуляемый Пол в C #

Ответы [ 4 ]

8 голосов
/ 29 марта 2011

Либо

Gender? myGender = null;

Или

Nullable<Gender> myGender = null;

Первый вариант точно такой же, как и второй, но это просто синтаксический сахар C # для облегчения чтения переменных, допускающих обнуляемость.

4 голосов
/ 29 марта 2011

имеет тип данных, называемый public enum Пол = {Мужской, Женский}; Но какой-то случай мне нужно передать долину для пола как пусто

На самом деле с медицинской точки зрения существует более двух полов. Во всяком случае, кроме ....

Nullable<Gender> .... вам это не нужно.

Gender.Undefined = 0 действителен и необходим в соответствии с передовой практикой. В соответствии с правилами кодирования перечисления .NET требуется Gender.Nothing.

0 голосов
/ 04 апреля 2011

Если пол «Unspecified» должен обрабатываться вашим приложением, как и любой другой пол, то часто полезно сделать это следующим образом:

public enum Gender
{
  Unspecified,
  Male, 
  Female,
}

Обратите внимание, что в этом случае "Unspecified" будет значением по умолчанию для перечисления, поскольку его значение равно нулю / 0. Поэтому при объявлении переменной Gender без присвоения ей значения она автоматически будет «не указана».

0 голосов
/ 29 марта 2011

Так вы можете создавать Nullable типов в C #

Nullable<Gender>

или коротких:

Gender?
...