Rumah >pembangunan bahagian belakang >C++ >Kenapa tidak C# string.replace () mengubah suai rentetan asal?
Memahami C# String Immutability and the kaedah Replace()
dan jangkaan bahawa ia mengubah rentetan asal. Mari kita periksa isu ini. Replace()
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug"; path.Replace(@"\bin\Debug", @"\Resource\People"); Console.WriteLine(path); // Output: C:\Users\Desktop\Project\bin\Debug (Unchanged!)</code>kaedah
Replace()
tidak mengubah rentetan asal. Kenapa? Kerana rentetan dalam C# adalah path
tidak berubah . Ini bermakna mereka tidak boleh diubah selepas penciptaan. Kaedah sebaliknya Replace()
mengembalikan rentetan baru dengan penggantian yang dibuat.
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug"; string newPath = path.Replace(@"\bin\Debug", @"\Resource\People"); Console.WriteLine(newPath); // Output: C:\Users\Desktop\Project\Resource\People</code>Sebagai alternatif, anda boleh menimpa pembolehubah asal:
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug"; path = path.Replace(@"\bin\Debug", @"\Resource\People"); Console.WriteLine(path); // Output: C:\Users\Desktop\Project\Resource\People</code>ingat: c# string tidak berubah. Mana -mana operasi yang nampaknya mengubahsuai rentetan sebenarnya membuat objek rentetan baru. Memelihara ini adalah penting untuk menulis kod C# yang cekap dan betul.
Atas ialah kandungan terperinci Kenapa tidak C# string.replace () mengubah suai rentetan asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!