source

보간된 문자열 내에서 3진 연산자를 사용하는 방법은 무엇입니까?

ittop 2023. 5. 12. 22:41
반응형

보간된 문자열 내에서 3진 연산자를 사용하는 방법은 무엇입니까?

이 코드가 컴파일되지 않는 이유가 무엇인지 혼란스럽습니다.

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

언급URL : https://stackoverflow.com/questions/31844058/how-to-use-the-ternary-operator-inside-an-interpolated-string

반응형