Подтвердить что ты не робот

Создание класса с нулевым значением

Как создать класс с нулевыми значениями (?) в С#? Как:

public class Hello1 {
  public int Property1 { get; set; }
}

public class Hello2 {
 Public Hello1? Property2 { get; set; } //Hello1 should work when it has "?"
}

Я хочу, чтобы класс Hello1 принимал форму "Hello1?" при необходимости.

4b9b3361

Ответ 1

Вам не нужно создавать тип с нулевым значением для ссылочных типов. Они уже обнуляются. Вам нужно сделать это только для типов значений типа int, bool, decimal и т.д.

Ответ 2

Вам не нужно; ссылочные типы уже могут быть null. Что касается структур, то просто добавит ?. Поэтому просто удалите ? и проверьте null с помощью == null, как обычно.

Ответ 3

Просто удалите вопросительный знак. По умолчанию все классы имеют значение NULL. Только объекты типа значения (например, struct) должны быть явно допустимыми.

Ответ 4

Все классы имеют значение NULL. nullable для типов значений, которые не могут быть null

Ответ 5

Hello1 уже обнуляется. Вам не нужно ? для вашей собственности.

Изменить. Я подозреваю, что вы можете установить для параметра Hello1.Property1 значение null, и вы надеетесь, что сделать Hello1 значение nullable позволит это. Это не так. Вы должны пометить Property1 как nullable, если вы это делаете.

Ответ 6

Hello1 уже является ссылочным типом, поэтому он может быть уже null.
 Синтаксис с нулевым значением "classname?" может применяться только к ValueTypes, таким как int, DateTime, float и т.д., что обычно не может быть null.