首頁 > 後端開發 > C++ > 為什麼不修改.NET中的原始字符串?

為什麼不修改.NET中的原始字符串?

Mary-Kate Olsen
發布: 2025-01-30 07:51:09
原創
445 人瀏覽過

Why Doesn't `string.Replace` Modify the Original String in .NET?

.NET字符串操作詳解:為什麼string.Replace無法修改原字符串?

問題:Replace方法無法修改字符串

以下代碼片段中,string.Replace方法似乎無法修改字符串:

string someTestString = "<a href=\"myfoldert/108716305-1.jpg\" target=\"_blank\">108716305-1.jpg</a>";
someTestString.Replace("108716305", "NewId42");
登入後複製

即使參數有效,字符串仍然保持不變。

解釋

.NET中的字符串是不可變的,這意味著它們的內容無法直接修改。調用string.Replace時,它會創建一個包含替換值的新字符串,而不是修改原始字符串。

解決方法

要更新字符串,您需要:

  1. string.Replace的結果存儲在一個新的變量中:
var newString = someTestString.Replace(someID.ToString(), sessionID);
登入後複製
  1. 如果你想觀察“字符串已更新”的行為,重新賦值原始變量:
someTestString = someTestString.Replace(someID.ToString(), sessionID);
登入後複製

需要注意的是,這適用於.NET中的所有字符串操作函數,例如RemoveInsertTrimSubstring變體,因為它們都返回一個新字符串,而不是操作原始字符串。

以上是為什麼不修改.NET中的原始字符串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板