Sind mehrere "params" Parameter möglich?
Ist es möglich, mehrere params
Parameter in C#? So etwas wie dieses:
void foobar(params int[] foo, params string[] bar)
Aber ich bin mir nicht sicher, ob das möglich ist. Wenn es so ist, wie würde der compiler entscheiden, wo split die Argumente?
InformationsquelleAutor der Frage garytchao | 2012-08-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur einen params-argument. Sie können zwei array-Argumente und der Anrufer kann über array-Initialisierungen aufrufen Ihrer Methode, aber es kann nur einen params-argument.
InformationsquelleAutor der Antwort Samuel Neff
Nein das ist nicht möglich. Nehmen Sie dies:
wie ist der compiler soll diese zu interpretieren:
Könnte es Lesen wie diesen:
Kann man zwei arrays als Parameter, wie dies jedoch:
InformationsquelleAutor der Antwort Cole Johnson
Vom MSDN - params
InformationsquelleAutor der Antwort Habib
Nein, nur eine single-param ist erlaubt und sogar das Letzte argument. Lesen diese
Diese arbeiten
Aber das wird nicht funktionieren
InformationsquelleAutor der Antwort Nikhil Agrawal
Ich weiß, das ist ein super alte post, aber hier:
In C# 7, haben Sie eigentlich können. Sie können
System.ValueTuple
um dies zu tun:Und dann können Sie es verwenden, wie diese:
Und die offensichtliche Ausgang:
Der einzige Nachteil ist, Sie haben, dies zu tun:
foobars[0].foo;
stattfoos[0];
aber das ist wirklich ein winzig kleines Problem. Außerdem, wenn Sie wirklich wollten, könnten Sie einige Erweiterung oder Funktion, die Sie zu konvertieren arrays, obwohl ich nicht glaube, dass das wirklich Wert.InformationsquelleAutor der Antwort AustinWBryan
Ist es nicht möglich. Es konnte nur ein params-Schlüsselwort pro Methode Deklarationen - von der MSDN - http://msdn.microsoft.com/en-us/library/w5zay9db(v=vs. 71).aspx
InformationsquelleAutor der Antwort Dmitry Khryukin
InformationsquelleAutor der Antwort Feng Yuan