Trong lập trình C#, bạn có thể chuyển đổi dữ liệu từ kiểu này sang kiểu khác thông qua chuyển đổi ngầm định (implicit conversion) hoặc chuyển đổi chỉ định (explicit conversion). Hãy tham khảo bài viết dưới đây để hiểu rõ hơn về cách chuyển đổi kiểu dữ liệu trong C#.
Phương pháp chuyển đổi kiểu dữ liệu trong C#
1. Phương pháp 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. Phương pháp chuyển đổi kiểu dữ liệu trong C#
Như đã đề cập trước đó, 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 sẽ đi sâu vào từng phương pháp chuyển đổi kiểu dữ liệu trong C#.
2. Chuyển đổi kiểu ngầm định
Các loại dữ liệu khác nhau có thể được biên dịch bằng các loại dữ liệu khác nhau. Ví dụ, số 74 có thể hiểu là kiểu số nguyên (integer) hoặc kiểu double (74.0). Có 2 trường hợp xảy ra khi sử dụng chuyển đổi kiểu ngầm định.
Trong trường hợp đầu tiên, nếu chúng ta thực hiện phép tính toán. Trình biên dịch tự động điều chỉnh các loại dữ liệu trong biểu thức:
Trong đoạn mã trên, biến b là kiểu double và biến x là kiểu int. Trong biểu thức b + x, trình biên dịch chuyển đổi x từ kiểu int sang kiểu double, sau đó gán kết quả cho b.
Trong trường hợp thứ 2, trình biên dịch có thể lưu kết quả vào một biến:
Trong ví dụ trước đó, cả x và y đều là kiểu int, nhưng kết quả trả về lại là kiểu double.
Hãy xem thêm ví dụ sau đây:
Thông thường, chúng ta có thể nghĩ rằng kết quả trong ví dụ trước là 4.2. Nhưng kết quả này hoàn toàn sai.
Trình biên dịch tính toán biểu thức bên phải trước, sau đó chuyển đổi kết quả sang kiểu double.
Biểu thức x/y có kiểu số nguyên, do đó kết quả trả về là một số nguyên. Trong ví dụ này, kết quả sẽ là 4 (đã 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:
Bạn cũng có thể khắc phục lỗi trong biểu thức trên bằng cách sử dụng chuyển đổi kiểu chỉ định trên biến x hoặc y trong biểu thức.
3. Sử dụng chuyển đổi kiểu chỉ định
Để thực hiện chuyển đổi kiểu chỉ định, chúng ta cần viết mã bổ sung để chuyển đổi từ kiểu dữ liệu này sang kiểu khác. Để làm điều này, bạn có thể sử dụng toán tử cast hoặc lớp Convert.
Để hiểu rõ hơn về việc sử dụng chuyển đổi kiểu chỉ định, bạn đọc có thể tham khảo ví dụ sau đây:
Trình biên dịch sẽ báo lỗi về chuyển đổi không hợp lệ. Điều chúng ta cần là toán tử cast:
Bằng cách sử dụng chuyển đổi (int), chúng ta có thể an toàn chuyển đổi kiểu dữ liệu và trình biên dịch sẽ chấp nhận điều này.
Kết quả trả về là chính xác. Điều quan trọng cần nhớ là toán tử cast có thể giảm kích thước dữ liệu khi chuyển từ kiểu dữ liệu có phạm vi giá trị lớn hơn sang kiểu dữ liệu có phạm vi giá trị nhỏ hơn, ví dụ như chuyển đổi từ kiểu dữ liệu double sang kiểu dữ liệu int.
Bây giờ bạn có thể sử dụng toán tử cast trong ví dụ trước để chuyển đổi kiểu ngầm định và nhận được kết quả chính xác:
Kết quả chính xác là 4.2.
4. Sử dụng lớp Convert
Như đã được đề cập trước đó, chúng ta có thể sử dụng lớp Convert với các phương thức static để chuyển đổi kiểu dữ liệu từ một loại thành loại khác:
Trên đây là bài viết về cách chuyển đổi kiểu dữ liệu trong C#. Nếu bạn có bất kỳ câu hỏi nào hoặc muốn được tư vấn, đừng ngần ngại để lại ý kiến của bạn trong phần bình luận dưới bài viết. Chúng tôi sẽ cố gắng giải đáp mọi thắc mắc của bạn sớm nhất có thể. Hãy tham khảo thêm các bài học C# khác trên trang web của chúng tôi để hiểu rõ hơn về Biến trong C# và cách thiết lập môi trường cho C#.
