IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[Débutant] Objet de type list<T>


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut [Débutant] Objet de type list<T>
    Bonjour les amis !!!!

    J'ai toujours un problème avec mes listes.

    Je m'explique. Je veux deux objets par exemple dont voici le code du premier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    class Personne
        {
            private string _ressource;
            private int _ut;
           //    private int[] _tableau = new int[52];
     
     
            public string Ressources
            {
                get { return _ressource; }
                set { _ressource = value; }
            }
            public int Ut
            {
                get { return _ut; }
                set { _ut = value; }
            }
            //public int[] Tableau
            //{
            //    get { return _tableau; }
            //    set { _tableau = value; }
            //}
    Voila une petite classe très simple.
    Bon je souhaite récupérer cet ojet dans un objet de type list. Voici ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class Liste
        {
            private List<Personne> _recupObjet = new List<Personne>();
     
            public List<Personne> RecupObjet
            {
                get { return _recupObjet; }
                set { _recupObjet = value; }
            }
     
     
        }
    Et maintenant je souhaite instancier plusieurs classe personne et ensuite les inserer dans l'objet liste puis naturellement les afficher à l'ecran.

    Voici le code behind. Par contre pour l'exemple, je travaille en mode application console.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    static void Main(string[] args)
            {
                Personne p = new Personne();
                p.Ressources = "TEST";
                p.Ut = 123;
                //for (int i = 0; i < p.Tableau.Length; i++)
                //{
                //    p.Tableau[i] = i+1;
                //}
     
                Liste recup = new Liste();
                recup.RecupObjet.Add(p);
                Console.WriteLine(recup);
                Console.ReadLine();
            }

    Voila les ptits génis, j'ai été voir sur MSDN, mais je ne trouve pas mon bonheur.
    Quelqu'un a une idée ?

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    Il te faut substituer la méthode ToString dans ta classe Liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Liste
    {
        // tes méthodes
     
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            foreach (Personne p in _recupObjet)
            {
                sb.Append(p.ToString()).Append("\n");
            }
            return sb.ToString();
        }
    }
    Cdt,
    Kevin D.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    Merci pour ta réponse rapide.

    Par contre je ne comprend pas comment la classe Liste peut reconnaitre l'instanciation "p" de la classe personne ? Car personne est instancié dans le code behind.

    Merci
    Stefvat

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    Parceque l'instance de ta classe Personne est ajouté à la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recup.RecupObjet.Add(p);
    Dans le code de la classe Personne, on accède aux objets stockés dans la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (Personne p in _recupObjet) { ... }
    Cdt,
    Kevin D.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    Décidement tu es vraiment très rapide.

    Merci pour tes réponses.

    Je suis d'accord avec toi pour cette exemple mais si je desire créer plusieurs objets personne (p1, p2, ....), alors ca ne marchera plus ?


    Quand je lui demande d'afficher à l'ecran par : Console.WriteLine(recup);

    Il me met : System.Collection.Generic.List`1[Console.Apllication1.Personne]
    Or je voudrais qu'il affiche les valeurs de la liste que j'ai prédemment rentrées.

    Merci
    Stefvat

  6. #6
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Citation Envoyé par stefvat Voir le message
    Décidement tu es vraiment très rapide.

    Merci pour tes réponses.

    Je suis d'accord avec toi pour cette exemple mais si je desire créer plusieurs objets personne (p1, p2, ....), alors ca ne marchera plus ?


    Quand je lui demande d'afficher à l'ecran par : Console.WriteLine(recup);

    Il me met : System.Collection.Generic.List`1[Console.Apllication1.Personne]
    Or je voudrais qu'il affiche les valeurs de la liste que j'ai prédemment rentrées.

    Merci
    Stefvat
    Je pense qu'il faut également que tu surcharges la méthode virtuelle ToString() de ta classe Personne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réorganisation manuelle d'un objet de type List<T>
    Par Julien Bodin dans le forum Général Java
    Réponses: 6
    Dernier message: 26/12/2009, 12h11
  2. Rediriger un objet de type List d'une servlet à un Jsp
    Par Smix007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 21/03/2007, 11h46
  3. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 15h40
  4. Réponses: 3
    Dernier message: 02/05/2006, 15h12
  5. [Threads]liste de mes objets de types threads
    Par comme de bien entendu dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 22/03/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo