Kiểu dữ liệu trong C#
Trong C#, biến được xếp thành những kiểu sau:
- Kiểu giá trị
- Kiểu tham chiếu
- Kiểu con trỏ (Pointer)
Kiểu | Phạm vi |
bool | True hoặc False |
byte | 0 đến 255 |
Char | U +0000 đến U +ffff |
demcimal | (-7.9 x 1028 đến 7.9 x 1028)/100 đến 28 |
double | (+/-)5.0 x 10-324 đến (+/-)1.7 x 10308 |
float | -3.4 x 1038 đến +3.4 x 1038 |
int | -2,147,483,648 đến 2,147,483,647 |
long | -923,372,036,854,775,808 đến 9,223,372,036,854,775,807 |
sbyte | -128 đến 127 |
short | -32,768 đến 32,767 |
unint | 0 đến 4,294,967,295 |
ulong | 0 đến 18,446,744,073,709,551,615 |
ushort | 0 đến 65,535 |
Kiểu tham chiếu
Kiểu dữ liệu tham chiếu không chứa dữ liệu thực tế lưu trữ trong một biến, nhưng chứa tham chiếu đến các biến.
Nói cách khác, nó chỉ đến một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ thay đổi bỏi một trong các biến, các biến khác sẽ tự động cập nhật lại sự thay đổi giá trị này. Những kiểu dữ liệu tham biến sẵn có: object (Đối tượng), dynamic (Động) và string (chuỗi xâu).
Kiểu object
Kiểu object là kiểu dữ liệu cơ sở cho tất cả các loại dữ liệu trong C# thuộc Hệ thống kiểu chung (CTS - Common Type System). object là tên gọi khác của lớp System.Object. Vì thế, kiểu object có thể nhận bất kỳ giá trị nào thuộc các kiểu dữ liệu trong C#. Trước khi gán giá trị cho nó thì nó sẽ tự chuyển đổi kiểu dữ liệu của giá trị.
Khi một giá trị được chuyển sang kiểu object thì nó được gọi là "boxing". Ngược lại, khi kiểu object được chuyển qua kiểu giá trị nào đó, được gọi là "unboxing".
Ví dụ
object obj; obj = 69; // Đây là boxing
Kiểu dynamic
Cú pháp khai báo:
dynamic <tên_biến> = giá trị;
Ví dụ
dynamic d = 2015;
Kiểu string
Kiểu string cho phép bạn gán bất kỳ giá trị chuỗi xâu bất kỳ vào trong biến. Kiểu string là tên gọi khác của lớp System.String.
Giá trị để gán cho chuỗi, có hai dạng: giá trị và @giá trị.
Ví dụ
// Gán theo kiểu giá trị: string str = "Tin Hoc Soc Trang"; // Gán theo dạng @giá trị: @"Tin Hoc Soc Trang";
Kiểu tham chiếu mà người dùng định nghĩa là: class, interface hoặc delegate.
Chúng tôi sẽ đề cập ở các bài viết sau.
Kiểu con trỏ
Biến kiểu con trỏ lưu trữ địa chỉ bộ nhớ của các kiểu khác. Con trỏ trong C# tương tự như trong C/C++.
Cú pháp để khai báo kiểu con trỏ có dạng:
<kiểu_dữ_liệu>* <tên_biến>;
Ví dụ
char* c; int* i;
Bình luận