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

Giá trị mặc định của StringBuilder trong C#


Giới thiệu

StringBuilder là kiểu tham chiếu (class), do đó giá trị default(StringBuilder) là null.

Ví dụ cơ bản

StringBuilder str = default(StringBuilder); // null
Console.WriteLine(str == null); // True

Ví dụ hoàn chỉnh

using System;
using System.Text;

public class Demo
{
    public static void Main()
    {
        StringBuilder str = default(StringBuilder);
        Console.WriteLine("Default for StringBuilder = " + str);
        Console.WriteLine("Is null: " + (str == null));
    }
}

Kết quả

Default for StringBuilder =
Is null: True

Giải thích

  • Output hiển thị dòng trống vì Console.WriteLine(null) in dòng trống.
  • str == null trả về True.
  • Khác với struct (value type), default của class luôn là null.

So sánh default cho các kiểu

KiểuPhân loạidefault(T)
StringBuilderClass (reference)null
stringClass (reference)null
intStruct (value)0
DateTimeStruct (value)01/01/0001 00:00:00
GuidStruct (value)00000000-0000-0000-0000-000000000000

Khởi tạo StringBuilder an toàn

// Thay vì default (null), hãy khởi tạo:
StringBuilder sb = new StringBuilder();
// Hoặc với capacity
StringBuilder sb = new StringBuilder(100);
// Hoặc với chuỗi ban đầu
StringBuilder sb = new StringBuilder("Initial");