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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
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
59
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