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 :

List et fonction Contain


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut List et fonction Contain
    Salut

    Que faut il definir commen fonction pour pouvoir utiliser la fonction Contain quand on fait une liste d objet ?

    Par exemple :

    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
     
     
    List<test> aLst = new List<test>();
     
    class test
    {
     public int i;
     public int j;
     
      public test(int ai, int aj)
      {
         i = ai;
         j = aj;
      }
    }
    Pour quand je fais Contain il compare i et j ...

    thx ++


  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    J'ai peut être une solution mais je n'en suis pas sur :
    Faire dérivé ta classe test d'une Icollection et ensuite surcharger la méthode contain.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Suggestions :

    - Surcharger les methode GetHashCode et Equals dans la classe test, peut être.
    - Implementer IComparable dans test.

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Il faut implémenter l'interface IEquatable
    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
    public class Test : IEquatable<Test>
    {
      private int _i;
      private int _j;
     
      public int I { get { return _i; } }
      public int J { get { return _j; } }
     
      public Test(int i, int j)
      {
         _i = i;
         _j = j;
      }
     
      public bool Equals(Test test)
      {
          return _i == test.I && _j == test.J;
      }
    }
    et ensuite appeler la méthode Contains de l'objet List<T>.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<Test> list = new List<Test>();
    list.Add(new Test(1, 1));
    list.Add(new Test(2, 1));
    list.Add(new Test(3, 1));
    list.Add(new Test(4, 1));
    bool present = list.Contains(new Test(2, 1));

  5. #5
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Merci tout le monde ...

    j ai essaye en implementant Equals et GetHashCode ...cela marche ...mais pk a t il besoin de GetHashCode ?

    Pas encore essaye avec IEquatable ...je vais tenter MERCI !!

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par Seth77
    j ai essaye en implementant Equals et GetHashCode ...cela marche ...mais pk a t il besoin de GetHashCode ?
    Il n'y a pas besoin de surcharger la méthode GetHashCode dans ce cas, la méthode Equals suffit.

    Citation Envoyé par Seth77
    Pas encore essaye avec IEquatable ...je vais tenter MERCI !!
    C'est le même principe que la méthode Equals, sauf que cette fois il s'agit d'implémenter une interface générique au lieu de surcharger une méthode de la classe Object, donc le paramètre reçu n'est plus un objet mais directement le type souhaité. Merci les génériques

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/08/2005, 11h16
  2. [interbase6]liste en fonction d'un dbgrid
    Par macadam314 dans le forum Bases de données
    Réponses: 12
    Dernier message: 01/03/2005, 09h43
  3. Liste de Fonction DirectX
    Par naejg dans le forum DirectX
    Réponses: 6
    Dernier message: 30/03/2004, 15h12
  4. Liste des fonctions
    Par Mookie dans le forum C
    Réponses: 2
    Dernier message: 22/09/2003, 16h42
  5. [postgreSQL] liste de fonctions
    Par Dra_Gun dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2003, 16h13

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