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

Что делает двойной вопросительный знак на С#?

Возможные дубликаты:
?? Null Coalescing Operator → Что означает слияние? Что означают два знака вопроса в С#?

Я не мог найти этот вопрос, задаваемый здесь, поэтому я решил, что попрошу об этом. Что делает двойной вопросительный знак на С#?

Пример:

x = y ?? z;
4b9b3361

Ответ 1

Это оператор нулевой коалесценции. Для метода выше состояний x присваивается значение y, если y не равно нулю, и в этом случае ему присваивается значение z.

Ответ 2

Используйте y, если не null, в противном случае используйте z

Ответ 3

От Wikipedia:

Это оператор нуль-коалесценции и сокращение для этого:

x = (y != null ? y : z);

Ответ 4

Если y равно null, будет установлено значение z.

Ответ 5

Если значение y равно null, то присваивается значение z.

Например:

x = Person.Name ?? "No Name";

Если имя равно null, будет иметь значение "Нет имени"

Ответ 7

.Net framework 2.0 поддерживает значения null для типов Nullable.

здесь, в этом случае, говорится x равно y, если оно имеет некоторое значение (то есть не null), либо равно z