8
votes

C # Params Mot-clé Accepter plusieurs tableaux

Considérez cette méthode

// Results in error
var arr = new int[] { 1, 2, 3};
var arr2 = new int[] { 4, 5, 6 };
NumberList(arr, arr2);


0 commentaires

4 Réponses :


6
votes

Le type que vous avez besoin est un int [] . Donc, vous avez besoin de passer un seul int [] ou de passer dans les paramètres Int int et laissez le compilateur allouer le tableau pour vous. Mais quelle que soit la signature de votre méthode ne permet pas de multiples tableaux.

Si vous souhaitez transmettre plusieurs tableaux, vous pouvez demander à votre méthode d'accepter n'importe quel formulaire qui permet de transmettre plusieurs tableaux: xxx < / pré>


0 commentaires

1
votes

Votre méthode n'est définie que pour accepter un seul tableau. Vous pouvez utiliser une liste si vous vouliez envoyer plus d'une à la fois.

private void myMethod(List<int[]> arrays){
   arrays[0];
   arrays[1];//etc
}


0 commentaires

0
votes

vous ne pouvez pas par Langauge signifie. Cependant, il existe un moyen de travailler autour de cela en superposant la méthode quelque chose comme ceci: xxx

voir ici


0 commentaires

2
votes
public void Test()
{
    int[]  arr1 = {1};
    int[]  arr2 = {2};
    int[]  arr3 = {3};

    Params(arr1);
    Params(arr1, arr2);
    Params(arr1, arr2, arr3);
}

public void Params(params int[][] arrs)
{

}

0 commentaires