[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")}";