Hệ thống các dạng C# (phần 6)

Lựa chọn giữa các dạng số nguyên

Với 8 dạng lưu giữ các số nguyên, làm cách nào bạn quyết định cái nào để sử dụng
Trên một mặt, bạn có thể cẩn thận xem xét dải có thể các giá trị bạn có thể muốn
cho bất cứ biến nào và sau đó nhặt cái nhỏ nhất (để tiết kiệm sử dụng bộ nhớ) cái có thể
phù hợp dải có ý định. Ví dụ, nếu bạn cần một player s score và biết nó có thể không
bao giờ số âm, bạn có thể cắt ra nửa 8 tuỳ chọn ngay ở đó. Nếu player s score có thể
trong hàng trăm của hàng nghìn trong bất cứ playthrough, bạn có thể loại ra byte và
ushort vì chúng không đủ lớn. Cái đó bỏ lại cho bạn chỉ với uintulong. Nếu bạn nghĩ
một player s score có thể tiếp cận 4 tỷ, bạn tốt hơn sử dụng ulong, nhưng nếu các scores
chỉ đi đến một vài triệu thì một uint là an toàn. (Bạn có thể luôn  thay đổi
một dạng biến và biên dịch lại chương trình của bạn nếu bạn có nó sai – phần mềm là
mềm sau tất cả – nhưng nó là dễ dàng hơn để đúng ngay lần đầu tiên).
Chiến lược nhặt dải thực tế nhỏ nhất cho bất cứ biến đã cho có giá trị, nhưng nó có
hai thứ đi ngược lại nó. Cái đầu tiên là rằng trong lập trình hiện đại, hiếm khi tiết
kiệm một byte đơn của không gian bộ nhớ thành vấn đề. Có quá nhiều bộ nhớ quanh đó để phiền
toái với các bytes riêng rẽ. Cái thứ hai là rằng máy tính không có phần cứng cái hỗ trợ toán và các
dạng nhỏ hơn. Máy tính nâng cấp chúng thành các ints và chạy hoạt động toán như các ints,
buộc bạn sau đó gặp phải phiền toái chuyển đổi kết quả quay trở lại tới dạng nhỏ hơn.
Dạng int thuận tiện hơn sbyte, byte, short, và ushort nếu bạn làm nhiều hoạt động toán.
Vì vây, chiến lược phổ biến hơn là sử dụng int, uint, long hay ulong khi cần thiết và chỉ
sử dụng byte, sbyte, short, và ushort khi có một lợi ích đáng kể và rõ ràng.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *