在新的C#6字符串语法中转义引号

在新的C#6字符串语法中转义引号,c#,c#-6.0,C#,C# 6.0,我对C#6的新特性感到非常兴奋,包括新的字符串语法: var fullName = $"My Name is {FirstName} {LastName}"; 但是,我不知道如何在大括号内转义引号以执行以下操作: bool includePrefix = true; var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}"; C#6不喜欢那样。在第二种情况下,我不得不恢复使用String

我对C#6的新特性感到非常兴奋,包括新的字符串语法:

var fullName = $"My Name is {FirstName} {LastName}";
但是,我不知道如何在大括号内转义引号以执行以下操作:

bool includePrefix = true;

var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}";
C#6不喜欢那样。在第二种情况下,我不得不恢复使用
String.Format
。是否可以使用新语法转义引号


更新:是的,我尝试过使用
\
转义,但无法识别。

将您的逻辑放在括号内,放在括号内:

var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";

要经常转义引号,您需要使用斜杠(即“
\”

但是,这不是问题所在,因为您不需要转义,只是缺少表达式上的括号

这项工作:

bool includePrefix = true;
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";

编写一个执行属性字符串逻辑的属性,然后只在字符串中使用它。@asawyer我知道几种解决方法,包括我在问题中提到的一种。我只想知道在这个新语法中是否可以转义。