Các kiểu dữ liệu trong C#: Double, Số nguyên, Số float, Char
⚡ Tóm tắt thông minh
Các kiểu dữ liệu trong C# xác định loại giá trị mà một biến có thể chứa, từ số nguyên và số thực đến giá trị Boolean và chuỗi, và chúng quyết định lượng bộ nhớ mà mỗi biến chiếm dụng trong quá trình thực thi chương trình.

Các kiểu dữ liệu trong C# là gì?
Ngôn ngữ C# đi kèm với một tập hợp các kiểu dữ liệu Cơ bản. Các kiểu dữ liệu này được sử dụng để xây dựng các giá trị được sử dụng trong một ứng dụng. Hãy cùng khám phá các kiểu dữ liệu cơ bản có sẵn trong C#. Đối với mỗi ví dụ, chúng tôi sẽ chỉ sửa đổi hàm chính trong tệp Program.cs của mình.
1) Số nguyên
Kiểu dữ liệu Số nguyên được sử dụng để làm việc với các số. Trong trường hợp này, các số là các số nguyên như 10, 20 hoặc 30. Trong C#, kiểu dữ liệu được biểu thị bằng Từ khóa Int32. Dưới đây là một ví dụ về cách sử dụng kiểu dữ liệu này. Trong ví dụ của chúng tôi, chúng tôi sẽ xác định một biến Int32 có tên là num. Sau đó chúng ta sẽ gán một giá trị Integer cho biến và hiển thị nó tương ứng.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code Giải trình:-
- Kiểu dữ liệu Int32 được chỉ định để khai báo một biến Số nguyên có tên là num. Biến sau đó được gán giá trị 30.
- Cuối cùng, hàm console.write được sử dụng để hiển thị số ra bàn điều khiển.
Nếu mã trên được nhập đúng và chương trình được thực thi thành công, kết quả sau sẽ được hiển thị.
Đầu ra:
Từ kết quả đầu ra, bạn có thể thấy rõ biến Số nguyên có tên num đã được hiển thị trong bảng điều khiển
2) Double
Kiểu dữ liệu double được sử dụng để làm việc với số thập phân. Trong trường hợp này, các số là số nguyên như 10.11, 20.22 hoặc 30.33. Trong C#, kiểu dữ liệu được biểu thị bằng từ khóa “Double“. Dưới đây là một ví dụ về kiểu dữ liệu này.
Trong ví dụ của chúng tôi, chúng tôi sẽ định nghĩa một biến double được gọi là num. Sau đó chúng tôi sẽ gán một Double giá trị cho biến và sau đó hiển thị nó cho phù hợp.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code Giải trình:-
- Kiểu dữ liệu double được chỉ định để khai báo một kiểu double biến gọi là số. Biến sau đó được gán giá trị 30.33.
- Cuối cùng, hàm console.write được sử dụng để hiển thị số ra bàn điều khiển.
Nếu mã trên được nhập đúng và chương trình được thực thi thành công, kết quả sau sẽ được hiển thị.
Đầu ra:
Từ đầu ra, bạn có thể thấy rõ ràng rằng biến double có tên là num đã được hiển thị trong bảng điều khiển
3) Boolean
Kiểu dữ liệu boolean được sử dụng để làm việc với các giá trị Boolean của đúng và sai. Trong C#, kiểu dữ liệu được biểu thị bằng từ khóa Boolean. Dưới đây là một ví dụ về kiểu dữ liệu này có thể được sử dụng.
Trong ví dụ của chúng ta, chúng ta sẽ định nghĩa một biến Boolean có tên là 'status'. Sau đó chúng ta sẽ gán giá trị boolean cho biến và hiển thị giá trị đó cho phù hợp.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code Giải trình:-
- Kiểu dữ liệu boolean được chỉ định để khai báo một biến Boolean được gọi là 'status.' Biến sau đó được gán giá trị đúng/sai.
- Cuối cùng, hàm console.write được sử dụng để hiển thị giá trị Boolean ra bàn điều khiển.
Nếu đoạn mã trên được nhập đúng và chương trình được thực thi thành công, kết quả sẽ được hiển thị.
Đầu ra:
Từ kết quả đầu ra, bạn có thể thấy rõ biến Boolean bằng true đã được hiển thị trong bảng điều khiển
4) Chuỗi
Kiểu dữ liệu Chuỗi được sử dụng để làm việc với các giá trị Chuỗi. Trong C#, kiểu dữ liệu được biểu thị bằng từ khóa 'Chuỗi'. Dưới đây là một ví dụ về kiểu dữ liệu này.
Trong ví dụ của chúng tôi, chúng tôi sẽ xác định một biến Chuỗi có tên là 'message.' Sau đó chúng ta sẽ gán giá trị Chuỗi cho biến và hiển thị giá trị đó cho phù hợp.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code Giải trình:-
- Kiểu dữ liệu Chuỗi được chỉ định để khai báo một biến chuỗi có tên là message. Biến sau đó được gán giá trị là “Xin chào”.
- Cuối cùng, hàm console.write được sử dụng để hiển thị giá trị chuỗi ra bàn điều khiển.
Nếu đoạn mã trên được nhập đúng và chương trình được thực thi thành công, kết quả sẽ được hiển thị.
Đầu ra:
Từ kết quả đầu ra, bạn có thể thấy rõ biến String có tên là message đã được hiển thị trong bảng điều khiển
Danh sách đầy đủ các kiểu dữ liệu trong C#
Bốn ví dụ trên bao gồm các kiểu dữ liệu phổ biến nhất, nhưng C# cung cấp đầy đủ các kiểu dữ liệu giá trị tích hợp sẵn. Mỗi kiểu dữ liệu dành một lượng bộ nhớ cố định và chấp nhận một phạm vi giá trị cụ thể, vì vậy việc chọn kiểu dữ liệu nhỏ nhất phù hợp với dữ liệu của bạn sẽ giúp chương trình hoạt động hiệu quả.
| Loại dữ liệu | Kích thước máy | Phạm vi / Description |
|---|---|---|
| byte | Byte 1 | 0 để 255 |
| ngắn | 2 byte | -32,768 32,767 |
| int (Int32) | 4 byte | -2,147,483,648 2,147,483,647 |
| Dài | 8 byte | Các số nguyên rất lớn (±9.2 triệu tỷ) |
| phao | 4 byte | Số thập phân với độ chính xác khoảng 6–7 chữ số. |
| tăng gấp đôi | 8 byte | Số thập phân với độ chính xác khoảng 15–16 chữ số. |
| số thập phân | 16 byte | Số thập phân có độ chính xác cao (28–29 chữ số) dùng cho tiền tệ |
| xe tăng | 2 byte | Một ký tự Unicode đơn |
| bool | Byte 1 | đúng hay sai |
Bên cạnh các kiểu giá trị, kiểu chuỗi là kiểu tham chiếu được sử dụng rộng rãi nhất và lưu trữ một chuỗi ký tự có độ dài bất kỳ. Việc chọn kiểu phù hợp giúp ngăn ngừa lỗi tràn bộ nhớ và sử dụng bộ nhớ không cần thiết.
Kiểu giá trị so với kiểu tham chiếu trong C#
Mỗi kiểu dữ liệu trong C# đều thuộc một trong hai nhóm: kiểu giá trị và kiểu tham chiếu. Sự phân biệt này quyết định cách C# lưu trữ dữ liệu và cách một biến hoạt động khi bạn sao chép nó hoặc truyền nó vào một phương thức.
- Các loại giá trị: Các kiểu dữ liệu này lưu trữ dữ liệu thực tế trực tiếp, thường là trên ngăn xếp. int, double, bool, char, liệt kê`<struct>` và `<value>` là các kiểu dữ liệu giá trị. Việc gán giá trị cho một biến sẽ sao chép giá trị đó, do đó hai biến vẫn độc lập với nhau.
- Các loại tham chiếu: Các biến tham chiếu lưu trữ một tham chiếu (địa chỉ bộ nhớ) trỏ đến dữ liệu trên heap. Chuỗi, đối tượng, mảng và các thể hiện của lớp là các kiểu tham chiếu. Việc sao chép một biến tham chiếu chỉ sao chép địa chỉ, do đó cả hai biến đều chia sẻ cùng một đối tượng.
Biến kiểu giá trị không bao giờ có thể là null vì nó luôn chứa một giá trị, trong khi biến kiểu tham chiếu chưa được khởi tạo mặc định là null. Hiểu được sự khác biệt này giúp bạn dự đoán cách các thay đổi dữ liệu được truyền tải trong chương trình.
Chuyển đổi kiểu dữ liệu trong C#
C# thường xuyên cần chuyển đổi giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác, chẳng hạn như chuyển đổi dữ liệu người dùng nhập vào (luôn là văn bản) thành số. Quá trình này được gọi là chuyển đổi kiểu dữ liệu, và nó diễn ra theo ba cách chính.
- Chuyển đổi ngầm định: Trình biên dịch sẽ tự động chuyển đổi khi không có nguy cơ mất dữ liệu, chẳng hạn như khi gán một số nguyên cho một số thực. Không cần cú pháp đặc biệt nào.
- Chuyển đổi tường minh (ép kiểu): Bạn đặt kiểu dữ liệu mục tiêu trong dấu ngoặc đơn, ví dụ: (int)myDoubleViệc ép kiểu có thể làm mất dữ liệu — chuyển đổi từ kiểu double sang int sẽ làm mất phần thập phân — vì vậy bạn chấp nhận rủi ro đó một cách có chủ ý.
- Các phương thức hỗ trợ: Lớp Convert (Convert.ToInt32) và phương thức Parse của mỗi kiểu dữ liệu (int.Parse) chuyển đổi chuỗi thành số, trong khi ToString chuyển đổi giá trị trở lại thành văn bản dễ đọc.
Việc lựa chọn phương thức chuyển đổi chính xác giúp đảm bảo tính chính xác của dữ liệu và ngăn ngừa lỗi trong quá trình chạy khi kiểu dữ liệu ở hai phía của phép gán không khớp nhau.








