Rumah >pembangunan bahagian belakang >C++ >Mengapa tidak mengemas kini nilai rentetan saya di C#?
Memahami rentetan C#yang tidak berubah dan string.Replace
dalam C# sering membawa kepada kekeliruan. Kuncinya adalah memahami bahawa rentetan dalam C# adalah string.Replace
tidak berubah . Ini bermakna sekali rentetan dibuat, nilainya tidak dapat diubah.
tidak mengubah suai rentetan asal; Sebaliknya, ia string.Replace
mengembalikan rentetan baru dengan penggantian yang dibuat. Inilah sebabnya hanya memanggil tanpa menugaskan semula hasilnya meninggalkan rentetan asal tidak berubah. string.Replace
Membetulkan kod:
Untuk melihat perubahan yang ditunjukkan, anda mesti menetapkan hasil kembali ke pemboleh ubah rentetan asal. Terdapat dua cara untuk melakukan ini: string.Replace
menetapkan semula kepada pembolehubah asal:
<code class="language-csharp">someTestString = someTestString.Replace(someID.ToString(), sessionID);</code>dengan rentetan yang diubahsuai.
someTestString
Ini mewujudkan pembolehubah rentetan baru,
, yang mengandungi rentetan yang diubah suai. Gunakan<code class="language-csharp">string newString = someTestString.Replace(someID.ToString(), sessionID);</code>ke hadapan.
newString
newString
String Immutability adalah pilihan reka bentuk yang meningkatkan kebolehpercayaan dan keselamatan kod. Ia menghalang kesan sampingan yang tidak dijangka dan membuat debugging lebih mudah. Kerana rentetan tidak berubah, pelbagai bahagian kod anda boleh menggunakan rentetan yang sama tanpa bimbang tentang satu bahagian secara tidak sengaja mengubahnya untuk yang lain. Kaedah seperti ,
, dan sentiasa membuat dan mengembalikan rentetan baru, memelihara integriti rentetan asal. Replace
Atas ialah kandungan terperinci Mengapa tidak mengemas kini nilai rentetan saya di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!