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

 .NET Discussion :

Comparer deux listes custom [VB.NET]


Sujet :

.NET

  1. #1
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 363
    Points
    34 363
    Par défaut Comparer deux listes custom


    j'ai bien du mal ces derniers temps avec les comparaisons de list sur des classes perso.

    J'aimerai savoir si les valeurs de deux instances sur des listes de listes sont identiques ou non.

    Mon code actuel est le suivant
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Public Class Instrument_ListOfParameters
     
        Private ID_INSTRU As Double
        Private LstParam As List(Of Param)
     
        Public Sub New(ID_INSTRUMENT As Double, lstParameters As List(Of Param))
            ID_INSTRU = ID_INSTRUMENT
            LstParam = lstParameters
        End Sub
     
        Public Sub AddParam(tmpParam As Param)
            LstParam.Add(tmpParam)
        End Sub
     
        Public Sub RemoveParam(tmpParam As Param)
            LstParam.Remove(tmpParam)
        End Sub
     
     
        Public ReadOnly Property GetID_Instru() As Double
            Get
                GetID_Instru = ID_INSTRU
            End Get
        End Property
     
        Public ReadOnly Property GetLstParam() As List(Of Param)
            Get
                GetLstParam = LstParam
            End Get
        End Property
    End Class
     
    Public Class Param
        Private ID_PARAM As Double
        Private DESC_VALUE As Object
     
        Public Sub New(New_ID_PARAM As Double, New_DESC_VALUE As Object)
            ID_PARAM = New_ID_PARAM
            DESC_VALUE = New_DESC_VALUE
        End Sub
     
        Public ReadOnly Property Get_ID_PARAM() As Double
            Get
                Get_ID_PARAM = ID_PARAM
            End Get
     
        End Property
     
        Public ReadOnly Property Get_DESC_VALUE() As Object
            Get
                Get_DESC_VALUE = DESC_VALUE
            End Get
     
        End Property
     
    End Class
    Je n'arrive pas à comparer deux listes de ce type :
    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 Function Compare2Lists(ByVal lstparamFrom As Instrument_ListOfParameters, ByVal lstparamTo As Instrument_ListOfParameters) As Boolean
            Dim tmpfrom As New List(Of Instrument_ListOfParameters)
            tmpfrom.Add(lstparamFrom)
            Dim tmpto As New List(Of Instrument_ListOfParameters)
            tmpto.Add(lstparamTo)
                    Compare2Lists = True
            If tmpfrom.Item(0).GetID_Instru <> tmpto.Item(0).GetID_Instru Then
             Compare2Lists = False
             Exit Function
             End If
            Dim test = New With {Key .core = CleanParam(Id_Block_Type_To, tmpfrom)}
            Dim test2 = New With {Key .core = CleanParam(Id_Block_Type_To, tmpto)}
            'tmpfrom.Item(0) = CleanParam(Id_Block_Type_To, tmpfrom)
            'tmpto.Item(0) = CleanParam(Id_Block_Type_To, tmpto)
            If Not test2.Equals(test) Then
                Compare2Lists = False
            End If
     
        End Function
    la fonction cleanparam nettoyant juste les données pour les mettre au meme niveau de template.
    Sur les espions j'ai bien la meme chose entre test et test2, mais j'ai toujours test2.equals(test) qui me retourne False

    Des idées svp ?

  2. #2
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    As-tu essayé de faire implémenter l'interface IComparable aux objets que tu souhaites comparer ?

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 363
    Points
    34 363
    Par défaut
    salut,

    j'ai effectivement implémenté cette méthode et ait défini les opérateurs = et <> pour les Param

    Merci de me confirmer que c'était la bonne méthode

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

Discussions similaires

  1. Comparer deux listes
    Par timtim2007 dans le forum Prolog
    Réponses: 7
    Dernier message: 07/06/2019, 09h02
  2. operator== pour comparer deux listes
    Par docky dans le forum C++
    Réponses: 10
    Dernier message: 18/05/2008, 17h49
  3. Requete pour comparer deux listes
    Par Jean-Christoph dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/04/2008, 13h29
  4. Comparer deux listes de listes
    Par julien80 dans le forum Prolog
    Réponses: 5
    Dernier message: 05/03/2008, 18h18
  5. [C# 2.0] Comparer deux listes
    Par Rodie dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/08/2006, 00h40

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