Làm cách nào để có thông số params
có ít nhất một giá trị?Thông số C# với ít nhất một giá trị
public void Foo(params string[] s) { }
public void main()
{
this.Foo(); // compile error
this.Foo(new string[0]); // compile error
this.Foo({ }); // compile error
this.Foo("foo"); // no error
this.Foo("foo1", "foo2"); // no error
}
Tôi cũng nghĩ về cách giải quyết đó, và tôi nghĩ nó không sạch sẽ. Bởi vì chuỗi 'đầu tiên' sẽ không là một phần của phép lặp trong' string [] '_ (nếu bao giờ) _ có thể không hoạt động đối với một số trường hợp. Có không có cách nào khác? –
Nhưng những gì bạn đang nói là bạn * luôn luôn * sẽ có một tham số để bắt đầu. Giải pháp này phản ánh rõ ràng nhất có thể. – Nick
@JohnIsaiahCarmona Sau đó, chỉ cần ghép chúng lại với nhau: 'new [] {first} .Concat (s)'. Bây giờ bạn có thể bình thường 'foreach' qua kết quả. –