Gestion des List

Utilisateur anonyme - 26 déc. 2006 à 14:47
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 26 déc. 2006 à 16:34
Bonjour,
Je souhaite creer un inventaire pour un personnage en c sharp, le probleme c'est que lorsque je souhaite affiche l'inventaire rien ne s'affiche :

           //On initialise l'inventaire


            List MonInventaire = new List();
            Item Potion = new Item();
            MonInventaire.Add(Potion);
            MonInventaire.Add(Potion);
            MonInventaire.Add(Potion);


             for (int k = 0; k < MonInventaire.Count; k++)
             {
                 label10.Text = (label10.Text + Convert.ToString(MonInventaire[k].Itm) + " ; " );
             }


 


    public class Item : Entity
    {
        private String _Itm;
        public String Itm
        {
            get
            {
                return _Itm;
            }
            set
            {
                _Itm = value;
            }
        }
    }


 private List _Inventary;
        public List Inventary
        {
            get
            {
                return _Inventary;
             
            }
            set
            {
                _Inventary = value;
            }
        }

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 déc. 2006 à 15:47
Salut, ta chaine _itm est vide, il n'affiche donc rien.. avec l'opérateur "+" entre des chaines tu peux te passer de Convert.ToString ou de ToString.
0
Utilisateur anonyme
26 déc. 2006 à 15:52
Comment faire donc pour ajouter a mon inventaire un item ?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 déc. 2006 à 16:03
Les items sont bien ajoutés à la collection mais Itm est très certainement vide.
Sinon, ceci fait un peu bricolage :

for (int k = 0; k < MonInventaire.Count; k++)
{
    label10.Text = (label10.Text + Convert.ToString(MonInventaire[k].Itm) + " ; " );
}

label10 ????!!!???
Pas besoin de ToString comme indiqué par Lutinore, de plus, on utilise un string.Format pour la concaténation et pas un "+".
Reprendre label10 dans la boucle c'est pas le pied, tu peux faire un += ou carrément déclarer une nouvelle variable.

<hr size="2" />-Blog-
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 déc. 2006 à 16:34
Salut,

_Itm est vide parce que tu n'as pas de constructeur de la classe Item permettant de remplir ce champ.
D'ailleurs, le constructeur par défaut ne fait probablement rien non plus.

Autre possibilité pour mettre une valeur par défaut, remplacer :


private String _Itm;


par


private String _Itm="Valeur par défaut";









Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
Rejoignez-nous