Giới thiệu
Toán tử default trả về giá trị mặc định (default value) của một kiểu. Với bool, giá trị mặc định là false.
Ví dụ cơ bản
bool a = default(bool); // false // Hoặc C# 7.1+: bool a = default; // type inference
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
bool a = default(bool);
Console.WriteLine("Default for bool type = " + a);
}
}
Kết quả
Default for bool type = False
Bảng giá trị mặc định các kiểu phổ biến
| Kiểu | default(T) | Ghi chú |
|---|---|---|
| bool | false | |
| int, long, short, byte... | 0 | Số 0 |
| float, double, decimal | 0.0 | 0.0f, 0.0, 0.0m |
| char | '\0' (null char) | U+0000 |
| Kiểu tham chiếu (class, string, array...) | null | |
| Struct | Tất cả field = default | Đệ quy |
| Nullable<T> (T?) | null | HasValue = false |
Dùng default trong generic
public T GetDefault() => default(T); // C# 7.1+: default literal public T GetDefault () => default;
Lưu ý
default(bool)làfalse, không phải "blank space" như output gốc ghi nhầm.- Struct không có constructor không tham số -> default khởi tạo tất cả field = 0/null.
default(T)được đánh giá tại compile-time cho value types.