[C#] 보간 문자열 내에서 삼항 연산자를 사용하는 방법은 무엇입니까?

이 코드가 컴파일되지 않는 이유에 대해 혼란 스럽습니다.

var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";

분할하면 정상적으로 작동합니다.

var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";



답변

설명서 에 따르면 :

보간 된 문자열의 구조는 다음과 같습니다.

{ <interpolationExpression>[,<alignment>][:<formatString>] }

문제는 콜론이 다음과 같이 형식을 나타내는 데 사용된다는 것입니다.

Console.WriteLine($"The current hour is {hours:hh}")

이 솔루션은하는 것입니다 포장 괄호 안에 조건을 :

var result = $"Descending {(isDescending ? "yes" : "no")}";


답변