c# 6字符串语法中的转义引号

本文关键字:转义 字符串 语法 | 更新日期: 2023-09-27 18:16:26

我对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。可以使用新语法转义引号吗?

更新:是的,我已经尝试使用'转义,但它不被识别。

c# 6字符串语法中的转义引号

将逻辑包在圆括号内,括号内:

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

通常转义引号需要使用斜杠(例如'")。

然而,这不是这里的问题,因为您不需要转义,您只是错过了表达式上的括号。

如此:

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