我有以下代碼:替換( 「」 「 」\「 」)獲取的價值\「,而不是\」
string a = "\"";
string b = a.Replace("\"", "\\\"");
我想在B地與實例\\"
值。相反,當執行替換時,b具有\\\"
值。
爲什麼會發生這種情況?無論如何,取代\"
值,並得到\\"
而不是\\\"
值?
謝謝
我有以下代碼:替換( 「」 「 」\「 」)獲取的價值\「,而不是\」
string a = "\"";
string b = a.Replace("\"", "\\\"");
我想在B地與實例\\"
值。相反,當執行替換時,b具有\\\"
值。
爲什麼會發生這種情況?無論如何,取代\"
值,並得到\\"
而不是\\\"
值?
謝謝
像@dlatikay說上的評論,因爲我看到的值上在Visual Studio debbuger,調試器再次逃脫字符串轉化\\"
價值爲\\\"
值。
您需要添加2條斜線,如果你想與\\"
你的現有代碼\\\"
替換它進行初始化。這意味着一個\\
被計算爲一個反斜槓,並且\"
被轉義了雙引號。所以,b變成\"
。如果你使用\\\\\"
。你會得到2個反斜槓和一個雙引號。
string a = "\"";
string b = a.Replace("\"", "\\\\\"");
它可能是...確定你看到的不是視覺工作室調試器的洞察力/數據提示,它也顯示轉義版本? – dlatikay
您如何檢查'b'的價值?此外,可能有更適合的方法來轉義您的字符串,而不是您在此嘗試執行的任何操作。 –
你會被越過反斜槓。 – Stuart