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# 2.0] Comment trouver un element dans une IList ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut [C# 2.0] Comment trouver un element dans une IList ?
    Je stocke dans une Ilist une collection d'objet Toto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      public class Toto
      {
      String Attr1 
      String Attr2
      ...
      }
    J'ai vu qu'il existait une methode Contains ou IndexOf qui pourrait m'interesser.
    Comment savoir dans ma IList s'il y a dedans un objet toto avec comme Attribut attr1 une valeur specifique ?

    Le plus simple est d'implementer une methode qui me balaye ma List et qui me retourne l'index
    mais cela n'existe pas en standart ?
    car la en parametre il me demande un objet ...

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par chnew
    Je stocke dans une Ilist une collection d'objet Toto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      public class Toto
      {
      String Attr1 
      String Attr2
      ...
      }
    J'ai vu qu'il existait une methode Contains ou IndexOf qui pourrait m'interesser.
    Comment savoir dans ma IList s'il y a dedans un objet toto avec comme Attribut attr1 une valeur specifique ?

    Le plus simple est d'implementer une methode qui me balaye ma List et qui me retourne l'index
    mais cela n'existe pas en standart ?
    car la en parametre il me demande un objet ...
    Comme tu dis une IList, pourquoi n'utilise-tu pas sous 2.0 une List<Toto> ?
    Sinon c'est normal que la recherche que tu souhaites ne soit pas implémenté nativement car bien trop spécifique, ce n'est pas un objet que tu risque de récupérer mais bien une nouvelle collections d'objets ToTo qui ont en commun la même valeur de attr1 , celà resemble donc plutôt à une méthode de filtrage

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut
    Citation Envoyé par neguib
    Comme tu dis une IList, pourquoi n'utilise-tu pas sous 2.0 une List<Toto> ?
    Sinon c'est normal que la recherche que tu souhaites ne soit pas implémenté nativement car bien trop spécifique, ce n'est pas un objet que tu risque de récupérer mais bien une nouvelle collections d'objets ToTo qui ont en commun la même valeur de attr1 , celà resemble donc plutôt à une méthode de filtrage
    en fait je ne connais pas mon Type de list au depart ...
    Et je ne sais comment caster ma Ilist en List<MonTypeObj>
    Y a t il moyen de caster dynamiquement ma liste en une type de List d'objet specifique ?

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par chnew
    en fait je ne connais pas mon Type de list au depart ...
    Et je ne sais comment caster ma Ilist en List<MonTypeObj>
    Y a t il moyen de caster dynamiquement ma liste en une type de List d'objet specifique ?
    Je ne sais pas, je n'ai pas testé mais je suppose que dans un premier temps il faut déterminer le type recupéré donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    using System;
    using System.Reflection;
     
    //...
          Type montype = toto.GetType();
          //... puis tenter pour des types identiques
          List<montype> totos = new List<montype >();
    

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                Type MyType = typeof(double);// list[0].GetType();
                List<MyType> genericL = new List<MyType>();
    Ce code ne fonctionne pas car il ne trouve pas le Type MyType
    En fait c'etais mon problème de base car je ne savais pas comment caster dynamiquement ma List Generic
    Je suis donc passer par une IList.

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par chnew
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                Type MyType = typeof(double);// list[0].GetType();
                List<MyType> genericL = new List<MyType>();
    Ce code ne fonctionne pas car il ne trouve pas le Type MyType
    En fait c'etais mon problème de base car je ne savais pas comment caster dynamiquement ma List Generic
    Je suis donc passer par une IList.
    Bon la voie de la génération dynamique d'un generic passe certainement par la reflection comme je le soupçonnais, voici un article interressant à exploiter de MSDN2
    Vue d'ensemble de la réflexion et des génériques

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

Discussions similaires

  1. trouver un element dans une cellule de vecteurs
    Par dearraed dans le forum MATLAB
    Réponses: 1
    Dernier message: 04/11/2012, 21h53
  2. Comment trouver un mot dans une chaine ?
    Par totoAussi dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 06/05/2012, 09h38
  3. Réponses: 3
    Dernier message: 28/11/2009, 01h38
  4. Comment avoir plusieurs elements dans une liste chainée
    Par line86 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 01/05/2008, 21h18
  5. Comment afficher plusieurs elements dans une meme alert()
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2007, 22h46

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