В C# 6, есть новый Null Условный оператор, например, так:Null Условный оператор в C# 5
var name = p?.FirstName;
Что мы можем использовать в C# 5, так что мы не должны прибегать к:
var name = null;
if(p != null)
name = p.FirstName;
В C# 6, есть новый Null Условный оператор, например, так:Null Условный оператор в C# 5
var name = p?.FirstName;
Что мы можем использовать в C# 5, так что мы не должны прибегать к:
var name = null;
if(p != null)
name = p.FirstName;
Lashane имеет ту же идею, что и я. Использование условного оператора может сэкономить некоторое время
Основная идея заключается в том, что вы оцениваете, является ли что-то истинным или ложным, и дайте значения, которые вы хотите вставить.
var name = p != null ? p.FirstName : null;
выше говорит: "! (?) Если р = нуль, условный установлен в p.FirstName, когда правда, нулевой, когда ложь"
https://msdn.microsoft.com/en-us/library/zakwfxx4(v=vs.90).aspx
FYI, это называется условным оператором. Тернар - это более имя платы, которое применимо к любому оператору, который принимает 3 операнда, только что получается, что это единственное, что похоже на C#. – juharr
Спасибо! Я отредактировал сообщение и добавил ссылку на сайт microsoft для этого – oppassum
Стоит отметить, что '? .' является атомной операцией, а условный оператор - нет. –
'имя вар = р = null? p.FirstName: null; '? –
Метод расширения, но это не спасет вас от многократного ввода. –
Причина, по которой оператор был добавлен в C# 6, состоял в том, что в C# 5 не было простого синтаксиса. Если бы тогда функция не была добавлена. –