Passer un tableau en paramètre

Résolu
Topnotch Messages postés 22 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 22 août 2008 - 15 août 2008 à 17:37
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 15 août 2008 à 22:03
Bonjour,

j'aimerais savoir comment passer un tableau de string ,(ArrayList) plus précisement, à une fonction. Voici mon code:

public ArrayList LireTableau(ArrayList monTableau) { //CODE//}

Le problème qui se pose est le suivant: monTableau est un ArrayList qui contient des données. Ainsi, il ne s'agit pas d'un tableau vide. Lorsque j'exécute la fonction, mon programme semble le considérer comme un tableau vide. Je sais qu'en C++ je pourrais passer une référence vers monTableau et ça fonctionnerait. Également, j'ai essayé (ref ArrayList monTableau) et ça ne fonctionne pas.
Comment je peux faire en C# pour passer un tableau qui contient des valeurs et pouvoir faire un traitement sur ces valeurs. En fait, je trie les éléments de monTableau et je les mets dans un autre ArrayList.

Merci pour votre aide.

Topnotch

4 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 août 2008 à 17:46
Salut,

Ce n'est pas un tableau vu que c'est une instance d'ArrayList, et vu le prototype de la fonction, ça devrait fonctionner correctement.
Comment est effectué l'appel ?

/*
coq
MVP Visual C#
CoqBlog
*/
3
Topnotch Messages postés 22 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 22 août 2008
15 août 2008 à 20:02
Merci coq pour ton aide. En effet, ça fonctionne. Voici comment j'ai procédé: Dans ma classe j'ai construis ma fonction de cette manière:

public ArrayList LireFichier(ref ArrayList monTableau)
{
             //CODE//
}

Dans le Main: je déclare comme ceci:  tab2 =  fichier.LireFichier(ref monVecteur);

c'est le ref qui ne faut pas oublier, important!

Merci

Topnotch
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 août 2008 à 20:27
Heu non ref ne sert à rien là, ArrayList est un type référence.
Dans le cas présent ref n'est utile que si c'est la méthode LireFichier qui initialise "monTableau".

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
15 août 2008 à 22:03
De plus, ArrayList est "une vieille classe", préfères les Generics de C#: List<X> à la place de ArrayList....
(c'est l'équivalent des template de c++)

<hr />
-My Blog-
0
Rejoignez-nous