2011-01-31 5 views
6

Можно создать дубликат:
What is the “??” operator for?что делает двойной знак вопроса означает в C#

Отладка код и нашел ?? внутри кода. Что это значит?

+6

Этот вопрос задается более десяти раз в stackoverflow. Некоторые из них здесь. 1. http://stackoverflow.com/questions/827454/what-is-the-operator-for 2. http://stackoverflow.com/questions/3925726/coalesce-operator-in-c 3. http: // stackoverflow.com/questions/770096/what-does-mean. – Bipul

ответ

16

?? - null-coalescing operator для типов с нулевым значением.

object obj = canBeNull ?? alternative; 

// equivalent to: 
object obj = canBeNull != null ? canBeNull : alternative; 
+1

+1 От меня - просто для nitpick, хотя это на самом деле называется оператором с нулевым коалесцентом *. (Http://msdn.microsoft.com/en-us/library/ms173224.aspx). Это полезно, даже если вы не назначаете значения переменной. –

+1

Вы имели в виду «нуль-коалесцирующий оператор»? –

+0

гм! Я сделал. краснеет ... Thx ребята. –

5

http://msdn.microsoft.com/en-us/library/ms173224.aspx см. Описание этого описания. это оператор

Оператор ?? определяет значение по умолчанию, которое должно быть возвращено, когда тип с нулевым значением присваивается типу с нулевым значением.

Смежные вопросы