Ví dụ:Làm thế nào để truyền một mảng và một phần tử đơn lẻ cho một phương thức nhiều đối số?
public void foo(params string[] s) { ... }
Chúng ta có thể gọi phương thức này với:
a) foo("test", "test2", "test3") // multiple single strings
b) foo(new string[]{"test", "test2", "test3"}) // string array
Nhưng nó không thể gọi phương thức với:
c) foo("test", new string[]{"test", "test2", "test3"})
Vì vậy, khi tôi có một chuỗi đơn và một chuỗi các chuỗi, tôi có phải đặt chúng vào một mảng đầu tiên để gọi phương thức này không? Hoặc là có một workaround tốt đẹp để nói cho các phương pháp để xem xét các mảng chuỗi như chuỗi đơn?
Bạn phải đặt chúng vào một mảng đầu tiên –
có, bạn phải đặt chúng vào một mảng ... để khớp với chữ ký chức năng. Trừ khi bạn thêm một phương thức bao bọc có một chuỗi và một chuỗi các chuỗi. –
sử dụng Từ điển cho điều đó –