Oui, le C# a un équivalent des paramètres varargs. Ils s'appellent tableaux de paramètres et introduit avec le params
modificateur :
public void Foo(int x, params string[] values)
Alors appelez-le avec :
Foo(10, "hello", "there");
Comme avec Java, c'est seulement le dernier paramètre qui peut varier comme ceci. Notez que (comme avec Java) un paramètre de type params object[] objects
peut facilement causer une confusion, car vous devez vous rappeler si un argument unique de type object[]
est destiné à être remballé ou non. De même, pour tout type nullable, vous devez vous rappeler si un argument unique de type null
sera traitée comme une référence de tableau ou un élément unique de tableau. (I pensez à le compilateur ne crée le tableau que s'il le doit, mais j'ai tendance à écrire du code qui m'évite d'avoir à m'en souvenir).