Passer un tableau en paramètre [Résolu]

Signaler
Messages postés
22
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
22 août 2008
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
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

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
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
*/
Messages postés
22
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
22 août 2008

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
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
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
*/
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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-