Bonjour,

J'ai une liste avec certains de propriétés en doublons. Je souhaiterai copier ces doublons dans une nouvelle liste mais conceptuellement j'ai un peu de mal .

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
 
 
Module Module1
 
    Sub Main()
 
        Dim ListeCdes As New List(Of Commande)
 
        ListeCdes.Add(New Commande("CDE1", "MAG1", "01/01/2008"))
        ListeCdes.Add(New Commande("CDE2", "MAG2", "01/01/2008"))
        ListeCdes.Add(New Commande("CDE3", "MAG2", "01/01/2008"))
        ListeCdes.Add(New Commande("CDE4", "MAG3", "01/01/2008"))
        ListeCdes.Add(New Commande("CDE5", "MAG4", "01/01/2008"))
 
        Dim sublist As List(Of Commande) = ListeCdes.FindAll(AddressOf GroupageCommandes)
 
        If sublist.Count > 1 Then
            For Each subcde As Commande In sublist
                Console.WriteLine(subcde.Mag & vbTab & subcde.Delai & vbTab & subcde.NumCde)
            Next
            Console.WriteLine(sublist.Count.ToString & " commandes a grouper")
        Else
            Console.WriteLine("Aucune commande à grouper")
        End If
 
        Console.ReadLine()
 
    End Sub
 
    Function GroupageCommandes(ByVal Cde As Commande) As Boolean
        If Cde.Mag = "MAG1" And Cde.Delai = "01/01/2008" Then
            Return True
        Else
            Return False
        End If
    End Function
 
End Module
Je souhaite identifier toutes les commandes clients à grouper pour un même magasin et un même délai.

Mon code me renvoie le bon résultat, mais de façon unitaire, comme défini dans mon prédicat. Je souhaiterai pouvoir le calculer sur toute la liste.

Merci d'avance pour votre aide.