2016-12-26 65 views
-1

序列使用C#6我有以下幾點:逃生用字符串插值

$"\{wordSeparator}+" 

這並不是因爲\編譯,所以我嘗試:

$"\\{wordSeparator}+" 

這編譯,但是當我跑我的代碼得到錯誤:

Unrecognized escape sequence \\ 

我該如何解決這個問題?

+2

確切位置在哪裏,您在獲得該消息,可能你包括整個異常和堆棧跟蹤以及'wordSeparator'的值? – juharr

回答

0

從你的第一個例子讀取錯誤消息:

CS8087: A '{' character may only be escaped by doubling '{{' in an interpolated string.

+0

對不起,但我試圖逃避\ ... {}是C#6中的字符串插值,例如:https://msdn.microsoft.com/en-us/library/dn961160.aspx –

+0

@MiguelMoura:那麼你的第二個例子工作正常;有什麼問題? http://tryroslyn.azurewebsites.net/#b:master/f:>ilr/K4Zwlgdg5gBAygTxAFwKYFsDcAoADsAIwBswBjGUogQxBBgGEYBvbGNmfYsmANwHswAExgBZABQBKZq3ayUAJ0iwA7n3​​mC4qXFXlVkamAF4YAIhM5Zsnjph1jAEhMAdJ01XrN23fvkBfANTmMmy+2L5AA=== – SLaks

1

「wordseparator」應該是一個變量。這工作:

string wordSeparator = "\\"; 
string s = $"\\{wordSeparator}+"; 

如果「wordseparator」是不是字符串的變量,但部分,你應該逃脫「{」以及:

string s = $"\\{{wordSeparator}}+";