2016-04-12 2 views
-2

В C# 6, есть новый Null Условный оператор, например, так:Null Условный оператор в C# 5

var name = p?.FirstName; 

Что мы можем использовать в C# 5, так что мы не должны прибегать к:

var name = null; 
if(p != null) 
    name = p.FirstName; 
+2

'имя вар = р = null? p.FirstName: null; '? –

+1

Метод расширения, но это не спасет вас от многократного ввода. –

+7

Причина, по которой оператор был добавлен в C# 6, состоял в том, что в C# 5 не было простого синтаксиса. Если бы тогда функция не была добавлена. –

ответ

-1

Lashane имеет ту же идею, что и я. Использование условного оператора может сэкономить некоторое время

Основная идея заключается в том, что вы оцениваете, является ли что-то истинным или ложным, и дайте значения, которые вы хотите вставить.

var name = p != null ? p.FirstName : null; 

выше говорит: "! (?) Если р = нуль, условный установлен в p.FirstName, когда правда, нулевой, когда ложь"

https://msdn.microsoft.com/en-us/library/zakwfxx4(v=vs.90).aspx

+1

FYI, это называется условным оператором. Тернар - это более имя платы, которое применимо к любому оператору, который принимает 3 операнда, только что получается, что это единственное, что похоже на C#. – juharr

+0

Спасибо! Я отредактировал сообщение и добавил ссылку на сайт microsoft для этого – oppassum

+1

Стоит отметить, что '? .' является атомной операцией, а условный оператор - нет. –

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