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

Các kiểu dữ liệu, value types và reference types trong C#

Trong C#, kiểu dữ liệu chia làm 3 loại chính: Value type, Reference type, và Pointer type (chỉ trong unsafe context).

Value Types (Kiểu giá trị)

Biến value type lưu trực tiếp giá trị. Kế thừa từ System.ValueType. Được cấp phát trên stack (thường).

KiểuDiễn tảPhạm viMặc định
boolBooleanTrue/FalseFalse
byte8-bit unsigned0-2550
char16-bit UnicodeU+0000 - U+FFFF'\0'
decimal128-bit precise±7.9×10²⁸ / 10⁰⁻²⁸0.0M
double64-bit float±5.0×10⁻³²⁴ - ±1.7×10³⁰⁸0.0D
float32-bit float±3.4×10³⁸0.0F
int32-bit signed-2.147B - 2.147B0
long64-bit signed±9.22×10¹⁸0L
sbyte8-bit signed-128 - 1270
short16-bit signed-32.768 - 32.7670
uint32-bit unsigned0 - 4.29B0
ulong64-bit unsigned0 - 1.84×10¹⁹0
ushort16-bit unsigned0 - 65.5350
structCấu trúc tùy chỉnh--
enumLiệt kê--

Reference Types (Kiểu tham chiếu)

Biến reference type lưu địa chỉ (tham chiếu) đến đối tượng trên heap. Mặc định là null.

  • Object Type: Base class cho mọi kiểu trong CTS.
  • Dynamic Type: dynamic - kiểm tra kiểu tại runtime.
  • String Type: string - alias của System.String, immutable.
  • Class Type: Lớp do người dùng định nghĩa.
  • Interface Type: Giao diện.
  • Array Type: Mảng.
  • Delegate Type: Delegate.

Pointer Types (Chỉ unsafe context)

int* p, char* c - dùng trong block unsafe.