Cách chuyển đổi kiểu dữ liệu trong C#

Trong C#, dữ liệu có thể được chuyển đổi từ kiểu này sang kiểu khác bằng cách sử dụng chuyển kiểu ngầm định (implicit conversion) hoặc chuyển kiểu chỉ định (explicit conversion). Tham khảo tiếp bài viết dưới đây của Taimienphi.vn để tìm hiểu chi tiết các cách chuyển đổi kiểu dữ liệu trong C#.

Cách chuyển đổi kiểu dữ liệu trong C#
 

Mục Lục bài viết:
1. Cách chuyển đổi kiểu dữ liệu trong C#.
2. Chuyển đổi kiểu ngầm định.
3. Chuyển kiểu chỉ định.
4. Sử dụng lớp Convert.

1. Cách chuyển đổi kiểu dữ liệu trong C#

Như Taimienphi.vn đã đề cập ở trên, có 2 cách chuyển đổi kiểu dữ liệu trong C# là chuyển đổi kiểu ngầm định (implicit conversion) hoặc chuyển kiểu chỉ định (explicit conversion). Dưới đây Taimienphi.vn sẽ đi sâu vào chi tiết giới thiệu từng cách chuyển đổi kiểu dữ liệu trong C#.

2. Chuyển đổi kiểu ngầm định

Các dữ liệu khác nhau có thể được biên dịch bằng các kiểu dữ liệu khác nhau. Ví dụ, số 74 có thể được hiểu là kiểu số nguyên (integer) nhưng cũng có thể hiểu là kiểu double (74.0). Có 2 trường hợp xảy ra nếu áp dụng chuyển đổi kiểu ngầm định.

Trường hợp đầu tiên nếu chúng ta tính toán một biểu thức. Trình biên dịch tự động điều chỉnh các kiểu dữ liệu mà chúng ta sử dụng trong biểu thức đó:

Trong đoạn mã trên, biến b là kiểu dữ liệu double và biến x là kiểu dữ liệu int. trong biểu thức b + x, trình biên dịch kiểu ngầm định chuyển đổi x từ kiểu dữ liệu int thành kiểu dữ liệu double, sau đó gán kết quả cho b.

Trường hợp thứ 2 có thể xảy ra là trình biên dịch lưu trữ kết quả vào một biến:

Trong ví dụ trên, chúng ta có thể thấy cả x và y đều là kiểu dữ liệu int, nhưng kết quả trả về lại là kiểu dữ liệu double.

Ngoài ra bạn có thể tham khảo thêm ví dụ khác dưới đây:

Thông thường chúng ta sẽ nghĩ kết quả trong ví dụ trên là 4.2. Tuy nhiên kết quả này là hoàn toàn sai.

Trình biên dịch tính toán biểu thức bên phải đầu tiên, sau đó chuyển đổi kết quả sang kiểu double.

Biểu thức x/y chứa kiểu số nguyên, vì vậy kết quả trả về là một số nguyên, trong ví dụ này giá trị trả về sẽ là 4 (giá trị đã được làm tròn). Sau khi tính toán, trình biên dịch sẽ chuyển đổi kết quả thành kiểu double và gán giá trị cho biến b:

Ngoài ra bạn có thể sửa lỗi trong biểu thức trên bằng cách sử dụng chuyển kiểu chỉ định trên biến x hoặc y trong biểu thức.

3. Chuyển kiểu chỉ định

Đối với chuyển đổi kiểu chỉ định, chúng ta sẽ phải viết mã bổ sung để chuyển đổi từ kiểu dữ liệu này sang kiểu khác. Để làm được điều này, bạn có thể áp dụng toán tử cast hoặc lớp Convert.

Để hiểu rõ hơn về cách chuyển kiểu chỉ định, bạn đọc cùng tham khảo ví dụ dưới đây:

Trình biên dịch sẽ thông báo về chuyển đổi không hợp lệ. Những gì chúng ta còn thiếu là toán tử cast:

Bằng cách sử dụng chuyển đổi (int), chúng ta có thể chuyển đổi các kiểu dữ liệu an toàn và trình biên dịch sẽ chấp nhận điều này.

Kết quả được trả về là kết quả chính xác. Điều quan trọng cần lưu ý là toán tử cast có thể thu nhỏ dữ liệu khi chúng ta chuyển đổi kiểu dữ liệu có phạm vi giá trị lớn hơn thành kiểu dữ liệu có phạm vi giá trị nhỏ hơn. Ví dụ như khi chuyển đổi kiểu dữ liệu double thành kiểu dữ liệu int.

Bây giờ bạn có thể áp dụng toán tử cast trong ví dụ trên từ phần chuyển kiểu ngầm định để có được kết quả chính xác:

Kết quả chính xác trả về là 4.2.

4. Sử dụng lớp Convert

Như Taimienphi.vn vừa đề cập ở trên, chúng ta có thể sử dụng lớp Convert với các phương thức static để chuyển đổi chỉ định kiểu dữ liệu này thành kiểu dữ liệu khác:

Như vậy bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về cách chuyển đổi kiểu dữ liệu trong C#. Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết, Taimienphi.vn sẽ giải đáp các thắc mắc của bạn sớm nhất có thể. Ngoài ra, bạn đọc có thể tham khảo thêm một số bài học C# khác trên Taimienphi.vn để tìm hiểu rõ hơn về Biến trong C# cũng như cách thiết lập môi trường cho C# nhé.

Bài học C# trước Taimienphi.vn đã giới thiệu cho bạn về các kiểu dữ liệu trong C# cũng như cú pháp C# cơ bản, bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về cách chuyển đổi kiểu dữ liệu trong C#.
Các kiểu dữ liệu trong C#
Kiểu biến và khai báo biến trong C++
Number trong C++
Mảng (array) trong C#
Namespace trong C# là gì?
Toán tử trong C

ĐỌC NHIỀU