Bạn có thể sử dụng 2 cách: int? hoặc Nullable, cả hai đều có cùng một hành vi. Bạn có thể tạo ra một hỗn hợp mà không có vấn đề nhưng là một sự lựa chọn tốt hơn để làm cho mã sạch.
Phương án 1 (Với?):
private void Example(int? arg1, int? arg2)
{
if (arg1.HasValue)
{
//do something
}
if (arg1.HasValue)
{
//do something else
}
}
Lựa chọn 2 (Với Nullable):
private void Example(Nullable<int> arg1, Nullable<int> arg2)
{
if (arg1.HasValue)
{
//do something
}
if (arg1.HasValue)
{
//do something else
}
}
Từ C# 4.0 được đưa ra một cách mới để làm điều tương tự với sự linh hoạt hơn, trong này trường hợp khung cung cấp optional parameters with default values, theo cách này, bạn có thể đặt giá trị mặc định nếu phương thức được gọi mà không có tất cả các tham số.
Lựa chọn 3 (Với giá trị mặc định)
private void Example(int arg1 = 0, int arg2 = 1)
{
//do something else
}
Bạn có thể vui lòng cho tôi biết sự khác biệt b/w 'private void Example (int arg1?) 'Và' private void Example (int? Arg1 = 0) ' – Unbreakable