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 == nulltrả 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ểu | Phân loại | default(T) |
|---|---|---|
| StringBuilder | Class (reference) | null |
| string | Class (reference) | null |
| int | Struct (value) | 0 |
| DateTime | Struct (value) | 01/01/0001 00:00:00 |
| Guid | Struct (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");