Wie kann ich einen Parameter von params
mit mindestens einem Wert haben?C# Parameter mit mindestens einem Wert
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
}
Ich dachte auch über diese Problemumgehung nach, und ich denke, dass es nicht so sauber ist. Weil der 'erste' String nicht Teil der Iteration in' string [] '_ (falls überhaupt) _ ist, was in einigen Fällen möglicherweise nicht funktioniert. Gibt es keinen anderen Weg? –
Aber was Sie sagen ist, dass Sie * immer * einen Parameter haben werden, um damit zu beginnen. Diese Lösung spiegelt das so sauber wie möglich wieder. – Nick
@JohnIsaiahCarmona Dann verkette sie einfach zusammen: 'new [] {first} .Concat (s)'. Jetzt können Sie normalerweise über das Ergebnis "foreach". –