10
params
のパラメータを少なくとも1つの値で持つにはどうすればよいですか?少なくとも1つの値を持つC#パラメータ
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
}
私はまたその回避策について考えました、そして、私はそれがきれいではないと思います。 'first'文字列は' string [] '_(もしあれば)_の反復の一部ではないため、場合によっては動作しない可能性があります。他の方法はありませんか? –
しかし、あなたが言っていることは、あなたが常に*始めるための1つのパラメータを持つことになるということです。この解決法は、可能な限りきれいに反映されます。 – Nick
@JohnIsaiahCarmona次に、それらを連結してください: 'new [] {first} .Concat(s)'。これで通常は結果をforeachすることができます。 –