Tôi có thể cung cấp các tham số mặc định trong C # không?
Trong C:
void fun(int i = 1)
{
printf("%d", i);
}
Chúng ta có thể cung cấp cho các tham số một giá trị mặc định không? Có thể trong C # không? Nếu vậy, chúng ta có thể tránh quá tải các hàm không?
Việc thêm một tham số tùy chọn vào một hàm hiện có luôn là một thói quen không tốt. Nếu bạn đang làm việc trên một dự án đang phải tham chiếu đến lớp có một hàm và chúng tôi đã thay đổi một tham số với một giá trị tùy chọn, nó có thể đưa ra một ngoại lệ về thời gian chạy mà phương thức không được tìm thấy.
Điều này là do chúng tôi sẽ xem xét rằng nếu chúng tôi thêm một giá trị tùy chọn bổ sung, thì không cần thay đổi mã nếu hàm được sử dụng ở nhiều nơi.
function Add(int a, int b);
Điều này sẽ được gọi bằng cách này:
Add(10, 10);
Nhưng nếu chúng ta thêm một tham số tùy chọn như thế này,
function Add(int a, int b, int c = 0);
thì trình biên dịch mong đợi
Add(10, 10, 0);
Trên thực tế, chúng tôi đang gọi như thế này Add(10, 10) và chức năng này sẽ không khả dụng trong lớp đó và gây ra ngoại lệ thời gian chạy.
Điều này xảy ra trong khi thêm một tham số mới vào một hàm được nhiều nơi gọi và tôi không chắc điều này sẽ xảy ra mọi lúc. Nhưng tôi đề nghị bạn quá tải chức năng.
Luôn luôn chúng ta cần quá tải phương thức có một tham số tùy chọn. Ngoài ra, nếu bạn đang làm việc với các hàm có nhiều hơn một tham số tùy chọn, thì tốt hơn là chuyển giá trị bằng cách sử dụng tên của tham số.
function Add(int a, int b, int c = 0);
Luôn luôn tốt để gọi hàm này bằng cách sau.
Add(10, 20, c:30);