Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Khác biệt giữa chuỗi mutable (StringBuilder) và immutable (String) trong C#

Chuỗi Mutable (StringBuilder)

StringBuilder là chuỗi có thể thay đổi. Có thể mở rộng số ký tự. Chuỗi thông thường không đổi sau khi tạo, nhưng StringBuilder mở rộng được. Không tạo object mới trong bộ nhớ.

StringBuilder str = new StringBuilder();

Ví dụ

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);
    }
}

Kết quả

Web Arena!!

Chuỗi Immutable (String)

String là immutable. Mỗi lần thay đổi tạo bộ nhớ mới. Không thể thay đổi sau khi tạo, khác với StringBuilder.

String str = "tim";

Ví dụ

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 + " và " + str2 + " là chuỗi bằng nhau.");
            } else {
                Console.WriteLine(str1 + " và " + str2 + " không phải chuỗi bằng nhau.");
            }
            Console.ReadKey();
        }
    }
}

Kết quả

Steve và Ben không phải chuỗi bằng nhau.