C# 内插字符串中的引号 意外字符 \0022
C# quotes in interpolated string Unexpected character \0022
我了解到您可以在内插字符串中使用表达式,但转义引号不起作用。
private string sth = $"{String.Join(\"\", Node.stringToType.Keys)}";
Error CS1056: Unexpected character `[=10=]22' (CS1056)
Error CS1525: Unexpected symbol `)', expecting `${', `:', or `}' (CS1525)
更新:
上面的内部表达式被认为等同于
String.Join("", Node.stringToType.Keys)
(两个反斜杠是为了转义两个双引号)这样你就可以插入任何定界符。
改成这个
private string sth = $"{String.Join("\", Node.stringToType.Keys)}";
这个方法一定行得通
private string sth = $"{String.Join(@"\", Node.stringToType.Keys)}";
你应该把它写成
private string sth = $"{String.Join("\", Node.stringToType.Keys)}";
请注意 {...}
中的文本应该是 正确的 C# 代码
String.Join("\", Node.stringToType.Keys)
作为进一步的改进,您根本不需要字符串插值:
private string sth = String.Join("\", Node.stringToType.Keys);
我了解到您可以在内插字符串中使用表达式,但转义引号不起作用。
private string sth = $"{String.Join(\"\", Node.stringToType.Keys)}";
Error CS1056: Unexpected character `[=10=]22' (CS1056)
Error CS1525: Unexpected symbol `)', expecting `${', `:', or `}' (CS1525)
更新:
上面的内部表达式被认为等同于
String.Join("", Node.stringToType.Keys)
(两个反斜杠是为了转义两个双引号)这样你就可以插入任何定界符。
改成这个
private string sth = $"{String.Join("\", Node.stringToType.Keys)}";
这个方法一定行得通
private string sth = $"{String.Join(@"\", Node.stringToType.Keys)}";
你应该把它写成
private string sth = $"{String.Join("\", Node.stringToType.Keys)}";
请注意 {...}
中的文本应该是 正确的 C# 代码
String.Join("\", Node.stringToType.Keys)
作为进一步的改进,您根本不需要字符串插值:
private string sth = String.Join("\", Node.stringToType.Keys);