補間された文字列内で三項演算子を使用するにはどうすればよいでしょうか? 質問する

補間された文字列内で三項演算子を使用するにはどうすればよいでしょうか? 質問する

このコードがコンパイルされない理由がわかりません。

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

おすすめ記事