Phạm vi các kiểu dữ liệu trong C#

Phạm vi các kiểu dữ liệu trong C#

  1. Kiểu số nguyên (integer types)
  2. Kiểu số thực (floating-point types)
  3. Kiểu ký tự (char)
  4. Kiểu chuỗi (string)
  5. Kiểu dữ liệu đặc biệt
  6. Kinh nghiệm chọn kiểu dữ liệu biến khi lập trình phần mềm

Trong C#, mỗi kiểu dữ liệu có một phạm vi giá trị nhất định. Dưới đây là bảng tổng hợp phạm vi của các kiểu dữ liệu cơ bản.


1. Kiểu số nguyên (integer types)

Kiểu dữ liệu Số byte Phạm vi giá trị
byte 1 byte 0 → 255
sbyte 1 byte -128 → 127
short 2 byte -32,768 → 32,767
ushort 2 byte 0 → 65,535
int 4 byte -2,147,483,648 → 2,147,483,647
uint 4 byte 0 → 4,294,967,295
long 8 byte -9,223,372,036,854,775,808 → 9,223,372,036,854,775,807
ulong 8 byte 0 → 18,446,744,073,709,551,615

 📌 Ghi chú:

  • byte, ushort, uint, ulong chỉ chứa số dương.
  • sbyte, short, int, long chứa số âm và dương.

2. Kiểu số thực (floating-point types)

Kiểu dữ liệu Số byte Phạm vi giá trị Độ chính xác
float 4 byte ±1.5 × 10⁻⁴⁵ → ±3.4 × 10³⁸ ~7 chữ số thập phân
double 8 byte ±5.0 × 10⁻³²⁴ → ±1.7 × 10³⁰⁸ ~15 chữ số thập phân
decimal 16 byte ±1.0 × 10⁻²⁸ → ±7.9 × 10²⁸ ~28-29 chữ số thập phân

 📌 Ghi chú:

  • float và double phù hợp cho tính toán khoa học.
  • decimal thích hợp cho tính toán tài chính vì có độ chính xác cao hơn.

3. Kiểu ký tự (char)

Số byte: 1 byte, chứa giá trị True / False

bool isActive = true;
bool isFinished = false;

4. Kiểu chuỗi (string)

Kiểu này tùy thuộc vào nội dung gán vào, chứa được dãy ký tự unicode

5 Kiểu dữ liệu đặc biệt trong Csharp

Kiểu dữ liệu Ý nghĩa
object Kiểu dữ liệu chung, có thể chứa bất kỳ kiểu dữ liệu nào
dynamic Kiểu dữ liệu động, kiểu xác định lúc runtime
var Kiểu ngầm định, compiler tự suy luận kiểu dữ liệu

object obj = 123;     // Lưu số nguyên
object obj2 = "Text"; // Lưu chuỗi
dynamic x = 10;       // Lúc đầu là số nguyên
x = "Hello";          // Bây giờ là chuỗi
var y = 3.14;        // Compiler hiểu y là double

6. Kinh nghiệm chọn kiểu dữ liệu biến khi lập trình phần mềm

Chọn kiểu dữ liệu nhỏ nhất nhưng vẫn đủ dùng

int cho số nguyên phổ biến (từ -2 tỷ đến +2 tỷ)
long cho số quá lớn (ví dụ ID giao dịch, timestamp)
short / byte dùng trong xử lý nhúng, tối ưu bộ nhớ

👉 Không dùng long khi chỉ cần int → lãng phí bộ nhớ.

Bạn đang làm phần mềm quản lý xe ôtô bạn nên chọn kiểu int không ?

Vậy bạn tự đặt câu hỏi, nếu khách hàng mua 10 chiếc thì tổng tiền đơn hàng thế nào, kiểu int lưu đủ không ?

Với số thực: chọn theo độ chính xác

float    7 chữ số thập phân    Game, đồ họa
double    15–16 chữ số    Tính toán chung
decimal    chính xác tuyệt đối    Tiền tệ, tài chính

Text: string là kiểu dùng rất nhưng lưu ý

string là immutable → nối chuỗi nhiều lần thì nên dùng StringBuilder
Dùng char nếu chỉ lưu 1 ký tự.

Bạn đang làm phần mềm kế toán thì cột tổng tiềnkiểu float ổn không ?

Dùng bool cho giá trị đúng/sai

bool isActive = true;
Tránh dùng int thay cho boolean → thiếu rõ ràng.

Dữ liệu ngày giờ

DateTime nếu chỉ cần ngày giờ
DateTimeOffset nếu có múi giờ
TimeSpan cho khoảng thời gian

Dữ liệu có thể null

int? age = null;
bool? isVerified = null;

Bài viết liên quan:

Phạm vi các kiểu dữ liệu trong C#