Как использовать тернарный оператор внутри интерполированной строки? Я смущен, почему этот код не компилируется: var result = $"{fieldName}{isDescending ? " desc" : string.Empty}"; Если я разделить его, он отлично работает: var desc = isDescending ? " desc" : string.Empty; var result = $"{fieldName}{desc}"; Ответ 1 Согласно документации: Структура интерполированной строки выглядит следующим образом: { <interpolationExpression>[,<alignment>][:<formatString>] } Проблема в том, что двоеточие используется для обозначения форматирования, например: Console.WriteLine($"The current hour is {hours:hh}") Решение состоит в том, чтобы обернуть условные в круглых скобках: var result = $"Descending {(isDescending ? "yes" : "no")}";
Ответ 1 Согласно документации: Структура интерполированной строки выглядит следующим образом: { <interpolationExpression>[,<alignment>][:<formatString>] } Проблема в том, что двоеточие используется для обозначения форматирования, например: Console.WriteLine($"The current hour is {hours:hh}") Решение состоит в том, чтобы обернуть условные в круглых скобках: var result = $"Descending {(isDescending ? "yes" : "no")}";