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

Khai báo và sử dụng biến với các dạng số nguyên

Khai báo biến của các dạng khác này đơn giản như sử dụng các tên dạng thay vì int hay
string, như chúng ta đã làm trước kia:

byte aSingleByte = 34;
aSingleByte = 17;
short aNumber = 5039;
aNumber = -4354;
long aVeryBigNumber = 395904282569;
aVeryBigNumber = 13;

Trong quá khứ, chúng ta thấy rằng viết ra một số trực tiếp trong code của chúng ta tạo một
int literal. Nhưng cái này dấy lên câu hỏi thú vị. Làm cách nào chúng ta tạo một literal cái
là một byte literal hay một ulong literal?
Cho các thứ nhỏ hơn một int, không có thứ gì đặc biệt được cần để tạo một literal của dạng đó:

byte aNumber = 32;

32 là một int literal, nhưng trình dịch đủ thông minh để xem rằng bạn đang cố lưu giữ nó trong một
byte và có thể đảm bảo bằng sự thẩm tra rằng 32 nằm bên trong phạm vi được phép cho một byte.
Trình dịch xử lí nó. Ngược lại, nếu bạn sử dụng một literal cái quá lớn cho một byte, bạn sẽ nhận
lỗi biên dịch, ngăn bạn biên dịch và chạy chương trình của bạn.
Quy tắc tương tự cũng áp dụng cho sbyte, short, và ushort.
Nếu giá trị literal của bạn quá lớn để là một int,nó sẽ tự động trở thành một uint literal, một long
literal hay một ulong literal (cái đầu tiên của các khả năng trình bày số bạn gõ đó). Bạn sẽ nhận một
lỗi biên dịch nếu bạn tạo một literal giá trị của nó là quá lớn cho mọi thứ. Để minh hoạ các dạng literal
lớn hơn này làm việc như thế nào, xem xét code này:

long aVeryBigNumber = 10000000000; // 10 billion would be a `long` literal.

Bạn có thể thỉnh thoảng thấy rằng bạn muốn bắt buộc một số nhỏ hơn là một trong những dạng literal lớn hơn.
Bạn có thể bắt buộc cái này bằng cách đặt một U hay L (hay cả hai) tại cuối giá trị literal:

ulong aVeryBigNumber = 10000000000U;
aVeryBigNumber = 10000000000L;
aVeryBigNumber = 10000000000UL;

Một U chỉ tín hiệu rằng nó là không có dấu và phải là hoặc một uint hoặc ulong. L chỉ ra rằng literal phải là
một long hay một ulong, phụthuộc vào kích cỡ. Một UL chỉ ra rằng nó phải là một ulong. Các phụ tố này có thể là
chữ hoa hay chữ thường và trong cả hai trật tự. Tuy nhiên, tránh sử dụng một chữ thường l vì cái đó trông quá giống
số 1.
Bạn không cần những phụ tố này quá thường xuyên.

Chia sẻ

Leave a Reply

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