新しい文字列構文など、C#6の新機能に本当に興奮しています。
var fullName = $"My Name is {FirstName} {LastName}";
ただし、中かっこ内の引用符をエスケープして次のようにする方法はわかりません。
bool includePrefix = true;
var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}";
C#6はそれを好みません。その2番目のケースでは、String.Format
の使用に戻る必要がありました。新しい構文を使用して引用符をエスケープすることは可能ですか?
更新:はい、\
エスケープを使用しようとしましたが、認識されません。
括弧でロジックをラップしますinside括弧:
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";
引用符を定期的にエスケープするには、スラッシュを使用する必要があります(つまり、\"
)。
ただし、ここでは問題になりません。エスケープする必要がないため、式の括弧が欠落しているだけです。
これは動作します:
bool includePrefix = true;
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";