Trang chủ » Blog » Các kiểu dữ liệu trong C#

Các kiểu dữ liệu trong C#

bởi CodeGym | 26/12/2023 15:36 | Blog

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các kiểu dữ liệu trong C#.

Phân loại các kiểu dữ liệu trong C#

Có hai kiểu giá trị trong C # là kiểu giá trị và tham chiếu.

Biến có kiểu giá trị là chứa trực tiếp giá trị của nó, còn kiểu tham chiếu là lưu trữ địa chỉ nơi chứa giá trị của nó.

Với các kiểu tham chiếu, hai biến có thể tham chiếu cùng một đối tượng và do đó các hoạt động trên một biến có thể ảnh hưởng đến đối tượng được tham chiếu bởi biến kia. Với các loại giá trị, mỗi biến có một bản sao dữ liệu riêng và các hoạt động trên một biến này không thể ảnh hưởng đến các biến khác (trừ trường hợp các biến tham số ref và out).

Kiểu giá trị bao gồm: simple, enum, struct, nullable

Kiểu tham chiếu: class, interface, array, delegate

Kiểu giá trị trong C#

Chúng được kế thừa từ lớp System.ValueType.

Một số ví dụ là int, char, và float, tương ứng giữ số nguyên, chữ cái, và số thực. Khi bạn khai báo một kiểu int, hệ thống cấp phát bộ nhớ để lưu giá trị đó.

Bảng sau liệt kê các kiểu giá trị có sẵn trong C#:

KiểuBiểu diễnDãy giá trịGiá trị mặc định
boolGiá trị BooleanTrue hoặc FalseFalse
byteKiểu unsigned integer (8 bit)0 tới 2550
charKiểu Unicode character (16 bit)U +0000 tới U +ffff‘\0’
decimalKiểu thập phân (128 bit)(-7.9 x 1028 tới 7.9 x 1028) / 100 to 280.0M
doubleKiểu double (64 bit)(+/-)5.0 x 10-324 tới (+/-)1.7 x 103080.0D
floatKiểu float (32 bit)-3.4 x 1038 tới + 3.4 x 10380.0F
intKiểu integer (32 bit)-2,147,483,648 tới 2,147,483,6470
longKiểu signed integer (64 bit)-9,223,372,036,854,775,808 tới 9,223,372,036,854,775,8070L
sbyteKiểu signed integer (8 bit)-128 tới 1270
shortKiểu signed integer (16 bit)-32,768 tới 32,7670
uintKiểu unsigned integer (32 bit)0 tới 4,294,967,2950
ulongKiểu unsigned integer (64 bit)0 tới 18,446,744,073,709,551,6150
ushortKiểu unsigned integer (16 bit)0 tới 65,5350

Kiểu tham chiếu trong C#

Chúng tham chiếu tới một vị trí bộ nhớ. Việc sử dụng nhiều biến cùng tham chiếu có thể tham chiếu tới tới một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ bị thay đổi bởi một trong số các biến, thì biến khác tự động phản ánh sự thay đổi về giá trị này. Ví dụ các kiểu tham chiếu có sẵn trong C# là: object, dynamic, và string.

Kiểu object trong C#

Kiểu object là lớp cơ sở cơ bản cho tất cả kiểu dữ liệu trong C# Common Type System (CTS). Object là một alias cho lớp System.Object. Các kiểu object có thể được gán giá trị của bất kỳ kiểu, kiểu giá trị, kiểu tham chiếu, kiểu tự định nghĩa (user-defined) khác. Tuy nhiên, trước khi gán các giá trị, nó cần một sự chuyển đổi kiểu.

Khi một kiểu giá trị được chuyển đổi thành kiểu object, nó được gọi là boxing và ngược lại, khi một kiểu object được chuyển đổi thành kiểu giá trị, nó được gọi là unboxing.

object obj;
obj = 100; // day la vi du boxing

Kiểu Dynamic trong C#

Bạn có thể lưu giữ bất kỳ kiểu giá trị nào trong biến kiểu dữ liệu dynamic. Việc kiểm tra các kiểu biến này diễn ra tại run time.

Cú pháp để khai báo một kiểu dynamic trong C# là:

dynamic <tên_biến> = giá_trị;

Ví dụ:

dynamic d = 20;

Kiểu dynamic là tương tự với kiểu object, ngoại trừ việc kiểm tra cho các biến kiểu object diễn ra tại compile time, trong khi việc kiểm tra các biến kiểu dynamic diễn ra tại run time.

Kiểu string trong C#

Kiểu string trong C# cho phép bạn gán bất kỳ giá trị chuỗi nào cho một biến. Kiểu string là một alias cho lớp System.String. Nó kế thừa từ kiểu object. Giá trị cho một kiểu string có thể được gán bởi sử dụng các hằng chuỗi trong hai mẫu: quoted và @quoted.

Ví dụ:

String str = "Hoc C# voi Codgym";

Và một hằng chuỗi @quoted trông như sau:

@"Codegym";

Các kiểu tự định nghĩa (user-defined) trong C# là: Class, Interface, hoặc Delegate. Chúng ta sẽ bàn về các kiểu này trong các chương sau.

Kiểu con trỏ trong C#

Các biến kiểu con trỏ lưu giữ địa chỉ bộ nhớ của kiểu khác. Các con trỏ trong C# có khả năng như con trỏ trong C hoặc C++.

Cú pháp để khai báo một kiểu con trỏ trong C# là:

type* identifier;

Ví dụ:

char* cptr;
int* iptr;

ĐỌC THÊM CÁC TÀI LIỆU, HƯỚNG DẪN HỌC LẬP TRÌNH C# KHÁC TẠI ĐÂY.

TÌM HIỂU VỀ KHÓA HỌC .NET TẠI CODEGYM – TRỞ THÀNH LẬP TRÌNH VIÊN CHUYÊN NGHIỆP TRONG VÒNG 6 THÁNG

Download - Giáo trình thuật toán

10 + 3 =

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

10 + 6 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM