Получение неожиданного токена в троичный оператор - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу сделать простую троичную операцию, такую ​​как:

   progressToBackCheckMedianString = $"{newLine} Medians {(medianInProgressFormattedTime != string.Empty ? {newLine} {medianInProgressFormattedTime}{newLine} : string.Empty)}" ;

Но я получаю

Неожиданный токен '{'

и {(medianInProgressFormattedTime != string.Empty ? помечается красным с этой ошибкой.Что я делаю не так?Привет

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вы используете $ - интерполяцию строки , которая поддерживает версию c # выше 6.0

{interpolatedExpression}

в больших скобках есть специальныеозначает в синтаксисе.

Ваш newLine выглядит как строковое значение.

Удалите { и } между newLine и используйте + для подключения строкового значения, потому что внешние уже используют большие скобки.

Я бы использовал

string.IsNullOrEmpty

проверить строковое значение вместо

medianInProgressFormattedTime != string.Empty

, потому что medianInProgressFormattedTime может быть NULL.

string progressToBackCheckMedianString = $"{newLine} Medians{(!string.IsNullOrEmpty(medianInProgressFormattedTime) ? newLine + medianInProgressFormattedTime + newLine : string.Empty)}";

c # Тест

0 голосов
/ 19 сентября 2018

Добавьте кавычки в строку {newLine} {medianInProgressFormattedTime}{newLine}

progressToBackCheckMedianString = $"{newLine} Medians {(medianInProgressFormattedTime != string.Empty ? $"{newLine} {medianInProgressFormattedTime}{newLine}" : string.Empty)}";
...