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#] Comment rechercher un objet dans une ArrayList en fonction d'un attribut ?


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut [C#] Comment rechercher un objet dans une ArrayList en fonction d'un attribut ?
    Bonjour,

    j'ai une ArrayList d'objets, ces objets condiennent un identifiant unique. J'ai besoin de retrouver un objet par son identifiant dans mon ArrayList afin soit de le supprimer soit de l'éditer.

    J'ai cherché dans la faq, et sur le forum, mais toutes les méthodes que j'ai put voir recherchent l'objet dans l'arraylist, dans mon cas, à priori je ne connais pas l'objet que je cherche, mais juste son identifiant.

    Connaissez vous une technique pour implémenter cela ?

    Merci d'avance

    ps : il se peut que ce soit tout bête, ou que j'ai eu la réponse sous le nez ... mais si je post c'est que je bloque, et que je n'ai pas encore trouvé de réponse ;-)

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    ça ne suffit pas une petite boucle ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach (Element el in monArrayList)
    {
        if (el.MaPropriete == laValeurRecherchee)
        {
            // j'ai trouvé ce que je cherche et je fais ce que je veux avec
            break; // ou pas, si je veux trouver TOUS les éléments correspondants...
        }
    }
    (a priori pas de moyen de faire mieux qu'un parcours linéaire de la liste, puisqu'il n'y a aucun tri ou indexage selon les valeurs des propriétés...)

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Est-ce que tu ne pourrais pas plutot utiliser un List<T> (qui contient une méthode Find) à la place d'un ArrayList ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Astartee
    ça ne suffit pas une petite boucle ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach (Element el in monArrayList)
    {
        if (el.MaPropriete == laValeurRecherchee)
        {
            // j'ai trouvé ce que je cherche et je fais ce que je veux avec
            break; // ou pas, si je veux trouver TOUS les éléments correspondants...
        }
    }
    (a priori pas de moyen de faire mieux qu'un parcours linéaire de la liste, puisqu'il n'y a aucun tri ou indexage selon les valeurs des propriétés...)
    Erf ... il y a des jours où faudrait que je dormes ... bien entendu que ta solution doit suffire ...
    Je vais de ce pas aller me chercher un bon café ...
    Merci , vous m'avez réveillé :-)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par SaumonAgile
    Est-ce que tu ne pourrais pas plutot utiliser un List<T> (qui contient une méthode Find) à la place d'un ArrayList ?
    Je travaille avec un ArrayList qui m'est fourni, c'est une contrainte forte. Sinon effectivement, List parait plus interressant.

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

Discussions similaires

  1. trier une liste d'objets dans une ArrayList
    Par sandrine49 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 13/10/2008, 08h59
  2. Réponses: 3
    Dernier message: 13/08/2008, 21h10
  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: 1
    Dernier message: 08/09/2006, 17h21
  5. [C#] Tri d'objet dans une ArrayList
    Par guillaume16 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/03/2006, 12h05

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