Я использовал нулевой оператор объединения в ответах, как показано ниже
return Variable??"undefined";
Но приведенный ниже код
return Variable??Variable="undefined";
Я не мог понять, как это работает, поскольку второй параметр оператора - это оператор присваивания, и мне интересно, как работает возврат.
Может кто-нибудь помочь мне понять
2 ответа
Из документов:
Оператор присваивания (=) сохраняет значение своего правого операнда. в месте хранения, свойстве или индексаторе, обозначенном его левой операнд и возвращает значение как результат
Таким образом, возвращаемое значение присваивания - это присваиваемое значение. Variable = "undefined"
для этого возвращает "undefined"
. Затем это может быть возвращено вашим методом. С другой стороны, ??
- это просто сокращение для простого оператора if.
Итак, следующий код очень похож на ваш код:
if(Variable != null)
return Variable
Variable = "undefined";
return Variable;
В C # операция присвоения также возвращает присвоенное значение. Например
Value=Value=Value=Value="Hello World"
Действительный код. Назначение оценивается первым справа налево. В вашем случае присвоение> нулевой оператор объединения. Вы можете переписать свой код на
string returnValue="";
if(Variable==null)
returnValue=Variable="undefined";
else
returnValue=Variable;
return returnValue;
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.