Số nguyên trong C#
Mọi biến, giá trị, và biểu thức trong các chương trình C# có một dạng liên quan đến nó.
Trước bây giờ, dạng duy nhất chúng ta đã thấy là string (text). Nhưng nhiều dạng khác tồn
tại, và chúng ta thậm chí có thể định nghĩa dạng của bản thân chúng ta. Hãy nhìn vào dạng
thứ hai: int, cái trình bày một số nguyên.
Một số nguyên là một whole mumber (không phân số hay chấm thập phân) nhưng hoặc là số dương,
số âm hay zero. Cho rằng khả năng của máy tính là làm toán, nó sẽ không là ngạc nhiên rằng
lưu giữ các số là phổ biến, và nhiều biến sử dụng dạng int. Ví dụ, tất cả những cái này sẽ
được trình bày tốt như một int: một player s score, các vị trí pixel trên một màn hình, kích cỡ
một file, dân số một nước.
Khai báo một biến dạng int đơn giản như sử dụng dạng int thay vì dạng string khi chúng ta khai
báo nó:
int score;
Biến score này bây giờ được xây dựng để giữ giá trị int thay vì text.
Khái niệm type này là quan trọng, nên tôi sẽ nhắc lại nó một lần nữa: dạng thành vấn đề trong C#,
mọi giá trị, biến, và biểu thức có một dạng cụ thể, và trình dịch sẽ đảm bảo rằng bạn không xáo trộn
nó. Cái sau sẽ thất bại để biên dịch vì dạng không khớp:
score = “Generic User”; // DOESN’T COMPILE!
Text “Generic User” là một string, nhưng dạng của score là int. Cái này tinh vi hơn:
score = “0”; // DOESN’T COMPILE!
Ít nhất cái này trông như một số. Nhưng được bao gói trong “” như thế, “0” là một trình bày string
của một số, không phải là một số thực sự. Nó là một string literal, mặc dù các kí tự có thể được sử dụng
trong các số. Bất cứ thứ gì trong dấu “” sẽ luôn là một string. Để tạo một int literal, bạn viết số không
có dấu “”:
score = 0; // 0 is an int literal.
Sau khi dòng code này chạy, biến score – một vị trí bộ nhớ được giành để giữ các ints dưới tên score – có giá
trị là 0.
Cái sau thể hiện rằng bạn có thể gán các giá trị khác nhau cho score theo thời gian, cũng như các số âm:
score = 4;
score = 11;
score = -1564;