首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# 字串轉義序列錯誤:雙引號與反斜線正確寫法

     編輯:程式設計疑難解答

在 C# 中撰寫包含雙引號 " 與反斜線 \ 的字串常值時,若直接寫 \"callbackURL\":\",編譯器會報「無法識別的轉義序列」,因為 \ 在一般字串中是轉義字元,需雙寫或使用逐字字串。

錯誤寫法

string callbackURL = BetWeen(html, "callbackURL\":\"", "");
// 編譯錯誤:\ " 被視為轉義序列,但 \" 後面沒有合法字元

正確寫法 1:雙重轉義

string pattern = "callbackURL\\\":\\\""; // 每個 \ 和 " 都加一個 \

正確寫法 2:逐字字串

string pattern = @"callbackURL\"":\"""; // @ 開頭,內部 " 寫兩次,\ 不需轉義

建議:改用 JSON 反序列化

既然來源是 JSON,強烈建議使用 Newtonsoft.Json (Json.NET) 或 .NET 內建 System.Text.Json 直接反序列化為物件,避免脆弱的字串剖析:

// Json.NET 範例
var obj = JObject.Parse(html);
string url = obj["callbackURL"]?.ToString();

// System.Text.Json (.NET Core 3.0+ / .NET 5+)
var doc = JsonDocument.Parse(html);
string url = doc.RootElement.GetProperty("callbackURL").GetString();

JSON 解析器自動處理轉義、編碼、巢狀結構,程式碼更健壯、可維護。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved