在新的 C# 6 字符串语法中转义引号
Escaping Quotes inside new C# 6 String Syntax
我对 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}";
我对 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}";