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

C# Discussion :

[C#] Reconaitre le type d'un élément d'une ArrayList


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut [C#] Reconaitre le type d'un élément d'une ArrayList
    Bonjour à tous !

    J’ai une ArrayList
    ArrayList MaListe = new ArrayList();

    et deux Class bidon et truc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     public class bidon
        {
            public string machin;
     
            public bidon(string name)
            {
                machin = name;
            }
            public override String ToString()
            {
                return machin;
            }
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       public class truc
        {
            public int toto;
            public truc(int jojo)
            {
                toto = jojo;
            }
            public override String ToString()
            {
                return toto.ToString();
            }
        }
    Je remplie Maliste aléatoirement avec des machins et des trucs.
    ArrayList MaListe = new ArrayList();


    Je peux lister ma ArrayList dans une RichTextBox msg.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     for (int i = 0; i < points.Count; i++)
                 {
                    msg.Text += points[i].ToString();
                 }
    Comment faire pour reconnaitre le type d’un objet de la liste sans utilser ToString( qui pourrait avoir une forme caractéristique du type d'objet.Par exemple commencer par un T pour le type truc ... )

    Merci d’avance.

  2. #2
    Membre expert

    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    1 737
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 737
    Points : 3 137
    Points
    3 137
    Par défaut
    en C# je crois que c'est TypeOf(tonobjet)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Merci.
    J'avais cherché du côté de le fonction GetType mais sans résultats. Tu m'as redirigé dans la bonne direction. Et j'ai découvert dans la doc à ligne au dessus de celle de typeof , l'opérateur is. Ce qui donne :

    for (int i = 0; i < points.Count; i++)
    {
    if (points[i] is bidon)
    {// action pour bidon...
    }
    else
    {
    //action pour machin
    }
    msg.Text += points[i].ToString();
    }

    Impec, je peux faire ce que je veux avec ma liste...

    Bonne journée.

    PS: Ton avatar est excellent.

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Petit conseil de pro : l'opérateur 'as' est pratique aussi. Au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MyClass myobject = null;
    // si l'objet donnée est un MyClass
    if(o is MyClass)
      // je le caste
      myobject = (MyClass)o;
    Tu ne fais qu'une seule reconnaissance de type en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // j'essaye de convertir o en MyClass
    MyClass myobject = (o as MyClass);
    // si c'en est un
    if(myobject != null)
      // etc...

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

Discussions similaires

  1. ajout éléments d'une arrayList dans un ListModel
    Par sasy22 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/10/2009, 16h13
  2. Afficher les éléments d'une ArrayList
    Par ziad.shady dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 06/04/2009, 13h17
  3. Affichage des éléments d'une ArrayList
    Par Centauri dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 12/02/2008, 03h07
  4. Comparaison des éléments d'une ArrayList
    Par Emilie MARQUOIS-OGEZ dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 31/10/2006, 15h17
  5. Réponses: 7
    Dernier message: 16/05/2006, 15h40

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