Những kiểu dữ liệu nào tồn tại trong C#

Nhung Kieu Du Lieu Nao Ton Tai Trong C



Kiểu dữ liệu là một khía cạnh quan trọng của bất kỳ ngôn ngữ lập trình nào và C# cung cấp một số kiểu dữ liệu được sử dụng để khai báo biến, xác định phương thức và tạo đối tượng. Trong bài viết này, chúng ta sẽ thảo luận về các kiểu dữ liệu khác nhau trong C# và các danh mục con của chúng, bao gồm các kiểu dữ liệu giá trị, tham chiếu và con trỏ.

Những kiểu dữ liệu nào tồn tại trong C#?

C # là một ngôn ngữ lập trình gõ mạnh , có nghĩa là tất cả các biến phải được khai báo với một kiểu dữ liệu cụ thể và có ba loại kiểu dữ liệu chính:







1: Các kiểu dữ liệu giá trị

Các kiểu dữ liệu giá trị là những kiểu lưu trữ giá trị của chúng trực tiếp trong bộ nhớ. Chúng được phân bổ trên ngăn xếp và thường được sử dụng để lưu trữ các tập dữ liệu nhỏ hơn. Sau đây là các danh mục con của các loại dữ liệu giá trị:



Kiểu dữ liệu số



Các kiểu dữ liệu này được sử dụng để lưu trữ các giá trị số. Các kiểu dữ liệu số được chia thành một số danh mục con, chẳng hạn như số thập phân, số nguyên và số dấu phẩy động:





  • Số nguyên: Các kiểu dữ liệu này được sử dụng để lưu trữ các số nguyên và các danh mục con của số nguyên bao gồm sbyte, byte, short, ushort, int, uint, long và ulong. Phạm vi giá trị mà mỗi định dạng dữ liệu số nguyên có thể chứa khác nhau.
  • Số dấu phẩy động: Các kiểu dữ liệu này được sử dụng để lưu trữ số thập phân và các danh mục con của số dấu phẩy động bao gồm float và double. Float có thể lưu trữ tối đa 7 chữ số thập phân, trong khi double có thể lưu trữ tối đa 15 chữ số thập phân.
  • Số thập phân: Các kiểu dữ liệu này được sử dụng để lưu trữ các số nguyên thập phân có độ chính xác cao. Thập phân có thể lưu trữ tối đa 28 chữ số thập phân.

Kiểu dữ liệu Boolean

Các giá trị Boolean, chỉ có thể đúng hoặc sai, được lưu trữ ở dạng dữ liệu này.



Kiểu dữ liệu ký tự

Các ký tự đơn được lưu trữ bằng kiểu dữ liệu này.

Ví dụ

Mã ví dụ sau minh họa cách sử dụng kiểu dữ liệu giá trị trong C#:

sử dụng Hệ thống;

không gian tên ValueDataTypesVí dụ
{
chương trình lớp học
{
khoảng trống tĩnh chính ( sợi dây [ ] tranh luận )
{
int myInt = 5 ;
phao myFloat = 3,14f;
gấp đôi myDouble = 3.14159265359 ;
bool myBool = ĐÚNG VẬY ;
char myChar = 'Một' ;

Console.WriteLine ( 'Giá trị số nguyên của tôi là:' + myInt ) ;
Console.WriteLine ( 'Giá trị nổi của tôi là:' + myFloat ) ;
Console.WriteLine ( 'Giá trị gấp đôi của tôi là:' + myDouble ) ;
Console.WriteLine ( 'Giá trị boolean của tôi là:' + myBool ) ;
Console.WriteLine ( 'Giá trị nhân vật của tôi là:' + myChar ) ;
}
}
}

Trong ví dụ này, chúng ta đã khai báo và khởi tạo các biến có kiểu dữ liệu giá trị khác nhau như int, float, double, bool và char. Sau đó, chúng tôi đã in ra các giá trị của các biến này bằng phương thức Console.WriteLine, đầu ra của chương trình này sẽ là:

2: Các kiểu dữ liệu tham chiếu

Các kiểu dữ liệu tham chiếu là những kiểu lưu trữ tham chiếu đến vị trí bộ nhớ nơi giá trị được lưu trữ. Chúng được phân bổ trên heap và thường được sử dụng để lưu trữ lượng dữ liệu lớn hơn. Sau đây là các danh mục con của các loại dữ liệu tham chiếu:

Lớp học

Trong C#, một lớp là một kiểu tham chiếu định nghĩa một kế hoạch chi tiết để tạo các đối tượng.

Sợi dây

Kiểu dữ liệu tham chiếu này được sử dụng để lưu trữ dữ liệu văn bản, chuỗi là một kiểu tham chiếu, nhưng nó hoạt động giống như một kiểu giá trị theo nhiều cách.

Mảng

Một tập hợp các giá trị cùng loại có thể được lưu trữ bằng kiểu dữ liệu này. Mảng là kiểu tham chiếu, nhưng chúng cũng có thể hoạt động như kiểu giá trị trong một số trường hợp nhất định.

giao diện

Một giao diện xác định một tập hợp các phương thức, thuộc tính, sự kiện và bộ chỉ mục mà không cung cấp bất kỳ chi tiết triển khai nào.

đại biểu

Một đại biểu cho phép bạn chuyển một phương thức làm đối số cho một phương thức khác, sau đó gọi phương thức đó sau đó thông qua đại biểu.

Ví dụ

Đây là một số mã C# mẫu cho biết cách sử dụng kiểu dữ liệu tham chiếu :

sử dụng Hệ thống;

lớp người
{
chuỗi công khai Tên;
công khai int Tuổi;
}

chương trình lớp học
{
khoảng trống tĩnh Chính ( sợi dây [ ] tranh luận )
{
Người person1 = Người mới ( ) ;
người1.Tên = 'BẢN THÂN ANH ẤY' ;
người1.Tuổi = hai mươi ;

Người người2 = người1;
người2.Tuổi = 30 ;

Console.WriteLine ( người1.Tên + ' là ' + người1.Tuổi + ' tuổi.' ) ;
Console.WriteLine ( người2.Tên + ' là ' + người2.Tuổi + ' tuổi.' ) ;
}
}

Lớp Person trong ví dụ này có hai trường công khai: Tên, thuộc loại chuỗi và Tuổi, thuộc loại int. Sau đó, chúng ta tạo một thể hiện mới của lớp Person và gán nó cho person1 trong phương thức Main. Chúng tôi sửa đổi các thuộc tính Tên và Tuổi của person1.

Tiếp theo, chúng ta tạo một biến tham chiếu khác là person2 và gán cho nó giá trị là person1. Sau đó chúng ta thay đổi thuộc tính Age của person2 thành 30.

Cuối cùng, chúng tôi in ra Tên và Tuổi của cả người1 và người2. Lưu ý rằng, thay đổi giá trị của người2.Tuổi cũng làm thay đổi giá trị của người1.Tuổi , vì cả hai biến đều đề cập đến cùng một sự vật trong trí nhớ.

3: Kiểu dữ liệu con trỏ

Các kiểu dữ liệu con trỏ được sử dụng để lưu trữ địa chỉ bộ nhớ của một biến khác. Chúng được sử dụng trong lập trình cấp thấp, chẳng hạn như lập trình cấp hệ thống hoặc phát triển trình điều khiển thiết bị . Trong C#, kiểu dữ liệu con trỏ không được sử dụng trực tiếp , nhưng chúng có thể được sử dụng trong các khối mã không an toàn. Sau đây là danh mục con của các kiểu dữ liệu con trỏ:

Kiểu dữ liệu con trỏ

Kiểu dữ liệu này được sử dụng để lưu trữ địa chỉ bộ nhớ của một biến khác.

Dưới đây là một ví dụ minh họa việc sử dụng kiểu dữ liệu con trỏ trong C# mặc dù nó đòi hỏi rất nhiều sự quan tâm:

sử dụng Hệ thống;

chương trình lớp học {
khoảng trống tĩnh không an toàn Chính ( ) {
số nguyên = 10 ;
int * p = & trên một;
Console.WriteLine ( $ 'Giá trị của số: {num}' ) ;
Console.WriteLine ( $ 'Địa chỉ của số: {(dài)p:X}' ) ;
Console.WriteLine ( $ 'Giá trị của num sử dụng con trỏ: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

Trong ví dụ này, chúng tôi sử dụng từ khóa không an toàn để cho phép sử dụng con trỏ. Chúng ta khai báo một biến kiểu int và đặt cho nó giá trị 10. Sau đó, chúng ta tạo một con trỏ biến con trỏ kiểu int* và gán cho nó địa chỉ bộ nhớ của giá trị bằng cách sử dụng toán tử &.

Hơn nữa, sau đó chúng tôi truy cập giá trị được lưu trữ trong giá trị bằng cách hủy tham chiếu con trỏ bằng toán tử * và chúng tôi cũng có thể sửa đổi giá trị bằng cùng một toán tử:

Ghi chú: Sử dụng con trỏ trong C# đòi hỏi phải cẩn thận và chú ý hơn để tránh các vấn đề về quản lý bộ nhớ, vì vậy chúng chỉ nên được sử dụng khi cần thiết và thận trọng.

Phần kết luận

Có nhiều loại dữ liệu khác nhau có sẵn trong C# có thể được sử dụng cho các nhiệm vụ khác nhau. Lượng dữ liệu nhỏ hơn được lưu trữ bằng các loại dữ liệu giá trị và lượng lớn hơn được lưu trữ bằng các loại dữ liệu tham chiếu. Các kiểu dữ liệu con trỏ được sử dụng trong lập trình cấp thấp và không được sử dụng phổ biến trong C#.