Quelle type de tableau utiliser pour stocker des objet? [Résolu]

Signaler
Messages postés
112
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour,



Je dois stocker une série d'objet dans un tableau puis pouvoir les
resortir et utiliser leurs méthodes et propriétés! Quelle tableau
dois-je utiliser?? Car avec un ArrayList ça ne marche pas :-( , il ne
garde pas les propirétés et ni les méthodes!




Et une côtellette à la bière pour Gérard

7 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
un conseil... dans ta classe CMamifère ajoute ceci :

public override ToString() {
return this.nom;
}

et fait ceci :

CMamifère elephant = new CElephant(textBoxNom.Text, Convert.ToInt32(textBoxPoids.Text));
animaux.Add(elephant);
...
...

foreach (CMamifère result in animaux)
{
listBoxMamifere.Items.Add(result);
}

Sébastien FERRAND
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
nan... en Fait le ToString() permet d'afficher le libellé dans la listBox... mais chaque élément de la listBox est en réalité un CMamifère.

donc en faisant : ((CMamifère)listBox.Items[1]).Poids, j'accède au poids du deuxieme mamifère de la liste.

Sébastien FERRAND
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
euh... depuis quand ca me marche pas avec les ArrayList ???
je le fais tous les jours !!!

Toto titi = new Toto();

ArrayList al = new ArrayList();

al.Add(titi);

(Toto)al[0].LaMethodeAToto();

Sébastien FERRAND
Messages postés
112
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008

Ah bon !





Alors je dois faire qqch de faux! Pourrais tu me dire quoi ???





CMamifère elephant = new CElephant(textBoxNom.Text, Convert.ToInt32(textBoxPoids.Text));


animaux.Add(elephant);




je fais ceci avec plusieurs valeurs différentes...




puis j'aimerais entrer les différents noms des animaux dans une liste box:




foreach (object result in animaux)

            {

                listBoxMamifere.Items.Add((CMamifère)result.nom);

            }






Et une côtellette à la bière pour Gérard
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
ooops... une erreur :
public override string ToString() {
return this.nom;
}

Sébastien FERRAND
Messages postés
112
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008

Mais je dois reprendre plusieur valeur, la race et le poids également! alors je dois faire une fonction pour chaque valeur ???

Et une côtellette à la bière pour Gérard
Messages postés
112
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008

Ah c'est bon pas besoin de répondre j'ai compris! Merci beaucoup c'est sympa ;-)

Et une côtellette à la bière pour Gérard