Rumah >pembangunan bahagian belakang >C++ >Kenapa tidak `String.Replace` mengubah rentetan asal dalam .net?

Kenapa tidak `String.Replace` mengubah rentetan asal dalam .net?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-30 07:51:09420semak imbas

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

.NET String Operasi Terperinci Penjelasan: Mengapa

tidak dapat mengubah suai rentetan asal? string.Replace

Soalan: Kaedah tidak dapat mengubahsuai rentetan

Replace dalam fragmen kod berikut,

kaedah nampaknya tidak dapat mengubah suai rentetan:

string.Replace

Walaupun parameternya berkesan, rentetan tetap tidak berubah.
<code class="language-csharp">string someTestString = "<a href=\"myfoldert/108716305-1.jpg\" target=\"_blank\">108716305-1.jpg</a>";
someTestString.Replace("108716305", "NewId42");</code>

Penjelasan Rentetan dalam

.net tidak berubah, yang bermaksud bahawa kandungan mereka tidak dapat diubah suai secara langsung. Apabila memanggil , ia mewujudkan rentetan baru yang mengandungi nilai penggantian, dan bukannya mengubahsuai rentetan asal.

penyelesaian

untuk mengemas kini rentetan, anda perlukan: string.Replace

Simpan hasil dalam pembolehubah baru:

  1. Jika anda ingin memerhatikan tingkah laku "rentetan telah dikemas kini", mulakan semula pembolehubah asal: string.Replace
<code class="language-csharp">var newString = someTestString.Replace(someID.ToString(), sessionID);</code>
Harus diingat bahawa ini sesuai untuk semua fungsi operasi rentet rentetan asal.

    Atas ialah kandungan terperinci Kenapa tidak `String.Replace` mengubah rentetan asal dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn