thể trùng lặp:
C#: Passing null to overloaded method - which method is called?Phương pháp quá tải và giá trị null
Hãy xem xét những phương pháp 2:
void Method(object obj) { Console.WriteLine("object"); }
void Method(int[] array) { Console.WriteLine("int[]"); }
Khi tôi cố gắng gọi:
Method(null);
trong Visual Studio 2008 SP1 Tôi nhận được int[]
.
Tại sao điều này?
Anh ấy có thể hỏi tại sao trình biên dịch lại ưu tiên quá tải đó. – Vlad
Câu hỏi của ông là tại sao độ phân giải quá tải giải quyết null cho phương thức lấy một mảng int chứ không phải là một đối tượng cần có. –
Xem câu hỏi này: http://stackoverflow.com/q/719546/25727 – Jan