Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

อะไรคือความแตกต่างระหว่างสตริงที่ไม่แน่นอนและไม่เปลี่ยนรูปใน C #?


สตริงที่เปลี่ยนแปลงได้

StringBuilder เป็นสตริงที่เปลี่ยนแปลงได้ใน C # ด้วย StringBuilder คุณสามารถขยายจำนวนอักขระในสตริงได้ ไม่สามารถเปลี่ยนสตริงได้เมื่อสร้างแล้ว แต่สามารถขยาย StringBuilder ได้ มันไม่ได้สร้างวัตถุใหม่ในหน่วยความจำ

ตั้งค่า StringBuilder -

StringBuilder str = new StringBuilder();

ให้เรามาดูตัวอย่างเพื่อเรียนรู้วิธีทำงานกับ StringBuilder ใน C# −

ตัวอย่าง

using System;
using System.Text;

public class Program {
   public static void Main() {
      StringBuilder str = new StringBuilder("Web World!!",30);
      str.Replace("World", "Arena");

      Console.WriteLine(str);
   }
}

ผลลัพธ์

Web Arena!!

สตริงที่ไม่เปลี่ยนรูป

สตริงที่ไม่เปลี่ยนรูปคือสตริงใน C # หน่วยความจำใหม่ถูกสร้างขึ้นทุกครั้ง เมื่อสร้างสตริงแล้วจะไม่สามารถเปลี่ยนได้ ซึ่งต่างจาก StringBuilde มันไม่ได้สร้างวัตถุใหม่ในหน่วยความจำ

ตั้งค่าสตริง −

String str = “tim”;

ต่อไปนี้เป็นตัวอย่างของสตริงที่เรากำลังเปรียบเทียบสองสตริง -

ตัวอย่าง

using System;

namespace StringApplication {

   class StringProg {

      static void Main(string[] args) {
         string str1 = "Steve";
         string str2 = "Ben";

         if (String.Compare(str1, str2) == 0) {
            Console.WriteLine(str1 + " and " + str2 + " are equal strings.");
         } else {
            Console.WriteLine(str1 + " and " + str2 + " are not equal strings.");
         }
         Console.ReadKey() ;
      }
   }
}

ผลลัพธ์

Steve and Ben are not equal strings.