簡體   English   中英

插值字符串中的C#引號意外字符\ 0022

[英]C# quotes in interpolated string Unexpected character \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)}";

請注意{...}中的文本應該是正確的 C#代碼

  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)}";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM