Những cơ sở của ngôn ngữ C#
Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệt kiểu dựng sẵn ( int, lo n g, b o o l , … ) với các kiểu do người dùng định nghĩa. Ngoài ra, chương này cũng sẽ trình bày cách tạo và dùng biến, hằng; giới thiệu kiểu liệt kê, ...
Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệt kiểu dựng sẵn (int,long,bool,…) với các kiểu do người dùng định nghĩa. Ngoài ra, chương này cũng sẽ trình bày cách tạo và dùng biến, hằng; giới thiệu kiểu liệt kê, chuỗi, kiểu định danh, biểu thức, và câu lệnh. Phần hai của chương trình bày về các cấu trúc điều kiện và các toán tử logic, quan hệ, toán học, …
C# buộc phải khai báo kiểu của đối tượng được tạo. Khi kiểu được khai báo rõ ràng, trình biên dịch sẽ giúp ngăn ngừa lỗi bằng cách kiểm tra dữ liệu được gán cho đối tượng có hợp lệ không, đồng thời cấp phát đúng kích thước bộ nhớ cho đối tượng.
C# phân thành hai loại: loai dữ liệu dựng sẵn và loại do người dùng định nghĩa.
C# cũng chia tập dữ liệu thành hai kiểu: giátrịvà thamchiếu. Biến kiểu giá trị được lưu trong vùng nhớ stack, còn biến kiểu tham chiếu được lưu trong vùng nhớ heap.
C# cũng hỗ trợ kiểu con trỏ của C++, nhưng ít khi được sử dụng. Thông thường con trỏ chỉ được sử dụng khi làm việc trực tiếp với Win API hay các đối tượng COM.
Loại dữ liệu định sẳn
C# có nhiểu kiểu dữ liệu định sẳn, mỗi kiểu ánh xạ đến một kiểu được hổ trợ bởi CLS (Commom Language Specification), ánh xạ để đảm bảo rằng đối tượng được tạo trong C# không khác gì đối tượng được tạo trong các ngôn ngữ .NET khác Mỗi kiểu có một kích thước cố định được liệt kê trong bảng sau
Kiểu | Kích thước(byte) | Kiểu .Net | Mô tả - giá trị |
byte | 1 | Byte | Không dấu (0..255) |
char | 1 | Char | Mã ký thự Unicode |
bool | 1 | Boolean | true hay false |
sbyte | 1 | Sbyte | Có dấu (-128 .. 127) |
short | 2 | Int16 | Có dấu (-32768 .. 32767) |
ushort | 2 | Uint16 | Không dấu (0 .. 65535) |
int | 4 | Int32 | Có dấu (-2147483647 .. 2147483647) |
uint | 4 | Uint32 | Không dấu (0 .. 4294967295) |
float | 4 | Single | Số thực (≈ ±1.5*10-45 .. ≈ ±3.4*1038) |
double | 8 | Double | Số thực (≈ ±5.0*10-324 .. ≈ ±1.7*10308) |
decimal | 8 | Decimal | số có dấu chấm tĩnh với 28 ký số và dấu chấm |
long | 8 | Int64 | Số nguyên có dấu (- 9223372036854775808 ..9223372036854775807) |
ulong | 8 | Uint64 | Số nguyên không dấu (0 .. 0xffffffffffffffff.) |
Chọn một kiểu định sẵn
Tuỳ vào từng giá trị muốn lưu trữ mà ta chọn kiểu cho phù hợp. Nếu chọn kiểu quá lớn so với các giá trị cần lưu sẽ làm cho chương trình đòi hỏi nhiều bộ nhớ và chạy chậm. Trong khi nếu giá trị cần lưu lớn hơn kiểu thực lưu sẽ làm cho giá trị các biến bị sai và chương trình cho kết quả sai.
Kiểu char biểu diễn một ký tự Unicode. Ví dụ “u0041” là ký tự “A” trên bảng Unicode. Một số ký tự đặc biệt được biểu diễn bằng dấu “” trước một ký tự khác.
Ký tự | Nghĩa |
’ | dấu nháy đơn |
” | dấu nháy đôi |
dấu chéo ngược “” | |