Hệ thống các dạng C#
Trong C#, dạng của các biến và giá trị là thành vấn đề (và phải khớp), nhưng chúng ta chỉ
biết 2 dạng từ trước đến giờ. Ở mức học phần này, chúng ta sẽ giới thiệu một tập đa dạng các
dạng chúng ta có thể sử dụng trong các chương trình của chúng ta. Các dạng này được gọi là
built-in types (các dạng tích hợp) hay primitive types (dạng ban đầu). Chúng là các khối xây
cho nhiều dạng phức tạp hơn chúng ta sẽ thấy sau này.
Trình bày dữ liệu bằng số nhị phân
Tại sao dạng lại thành vấn đề nhiều?
Mọi đoạn dữ liệu bạn muốn trình bày trong các chương trình của bạn phải được lưu giữ trong mạch
máy tính, giới hạn chỉ tới 1’s và 0’s của số nhị phân. Nếu chúng ta sẽ lưu giữ một số, chúng ta cần
một kế hoạch sử dụng các bits (một 1 hay 0 đơn) và bytes (một nhóm 8 bits và nhóm kích cỡ
các bits tiêu chuẩn) để trình bày một dải các số có thể chúng ta muốn lưu giữ. Nếu chúng ta
sẽ trình bày một từ, chúng ta cần một vài kế hoạch cho sử dụng các bits và bytes để trình bày
cả các chữ và chuỗi (strings) các chữ. Rộng hơn, bất cứ thứ gì chúng ta muốn trình bày trong một
chương trình yêu cầu một kế hoạch cho trình bày nó bằng số nhị phân.
Mỗi dạng định nghĩa các quy tắc của bản thân nó cho trình bày các giá trị bằng số nhị phân, và các
dạng khác nhau không đánh đổi cho nhau. Bạn không thể lấy các bits và bytes có ý định trình bày
một số nguyên và biên dịch lại các bits và bytes đó như một string và mong đợi nhận ý nghĩa từ nó. Bạn
cũng không thể lấy các bits và bytes có ý định trình bày text và biên dịch lại chúng như một số nguyên
và mong đợi nó là có nghĩa. Chúng không giống nhau. Không có cách nào đi quanh qua nó.
Cái đó không có nghĩa rằng mỗi dạng là một thế giới cái không bao giờ tương tác với các thế giới khác.
Bạn có thể và sẽ chuyển đổi từ một dạng sang cái khác thường xuyên. Nhưng phí tổn liên quan đến chuyển
đổi không là không tránh được, nên chúng ta làm nó có chủ địch hơn là tình cờ.