插值字符串中的C#引号意外字符\ 0022
我已经读过你可以在插值字符串中使用表达式,但是转义引号不起作用。
private string sth = $"{String.Join(\"\", Node.stringToType.Keys)}"; Error CS1056: Unexpected character `\0022' (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);