Ép kiểu trong c#

Ép kiểu trong c# là gì, tại sao nên ép kiểu khi làm phần mềm trong C#

  1. Tại sao cần ép kiểu trong c#
  2. Các cách ép kiểu trong C#

1. Tại sao cần ép kiểu trong c#

string a = "1";
string b = "4";
string kq = a + b;
Console.WriteLine(kq);
Console.Read();

Qua ví dụ nay ta thấy điều gì ? vì kết quả đã in ra là 14,  đúng ra là bằng 5

2. Các cách ép kiểu trong C#

Trong C#, có nhiều cách để chuyển đổi kiểu dữ liệu, bao gồm: ép kiểu tường minh, ép kiểu ngầm định, sử dụng lớp hỗ trợ (Convert), và phương thức Parse/TryParse. Dưới đây là một số cách phổ biến

Ép kiểu ngầm định (Implicit Conversion)

Chỉ áp dụng khi không có mất mát dữ liệu, thường xảy ra giữa các kiểu số nguyên và số thực.

int a = 10;
double b = a;  // Chuyển int thành double (tự động)
Console.WriteLine(b);  // Output: 10.0

Ép kiểu tường minh (Explicit Conversion)

Cần thực hiện thủ công bằng dấu ngoặc đơn, có thể gây mất dữ liệu.

double x = 9.7;
int y = (int)x;  // Chuyển double thành int (mất phần thập phân)
Console.WriteLine(y);  // Output: 9

Sử dụng lớp Convert

Cung cấp các phương thức để chuyển đổi kiểu dữ liệu một cách an toàn.

string s = "123";
int number = Convert.ToInt32(s);
Console.WriteLine(number);  // Output: 123

Các phương thức phổ biến

    Convert.ToInt32(value) → Chuyển sang int
    Convert.ToDouble(value) → Chuyển sang double
    Convert.ToBoolean(value) → Chuyển sang bool
    Convert.ToString(value) → Chuyển sang string

Sử dụng Parse

Dùng để chuyển đổi từ string sang kiểu số. Nếu chuỗi không hợp lệ, chương trình sẽ báo lỗi (FormatException).

string s = "456";
int num = int.Parse(s);
Console.WriteLine(num);  // Output: 456

Sử dụng TryParse

Giúp tránh lỗi bằng cách kiểm tra trước khi chuyển đổi. Nếu không thành công, trả về false thay vì báo lỗi.

string s = "789a";
if (int.TryParse(s, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Chuyển đổi thất bại!");  // Output: Chuyển đổi thất bại!
}

Chuyển đổi kiểu object bằng as và is

Dùng cho kiểu tham chiếu.

object obj = "Hello";
string str = obj as string; // Chuyển object thành string
if (str != null)
{
    Console.WriteLine(str);  // Output: Hello
}

object obj = 123;
if (obj is int n)
{
    Console.WriteLine(n);  // Output: 123
}

Chuyển đổi bằng ToString()

Hầu hết các kiểu dữ liệu đều có phương thức ToString() để chuyển thành chuỗi.

int num = 100;
string str = num.ToString();
Console.WriteLine(str);  // Output: "100"

 

 

Tìm kiếm:

Ép kiểu trong c# là gì, tại sao nên ép kiểu khi làm phần mềm trong C#