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