Comparer deux listes pratiquement identiques [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 15 novembre 2018
Statut
Membre
Dernière intervention
16 novembre 2018
-
Messages postés
4
Date d'inscription
jeudi 15 novembre 2018
Statut
Membre
Dernière intervention
16 novembre 2018
-
Bonjour,

j'essaie de trouver une solution élégante à mon problème, mais j'y arrive pas. Je vous explique; j'ai deux listes. Elles ont le même nombre de colonne. J'essaie de supprimer les lignes de la seconde liste qui ont le même code utilisateur.

List A

Col1 Col2 Col3
111 User4 2017
2222 User5 2016
3445 User7 2017

ListB

Col1 Col2 Col3
466 User1 2019
123 User2 2016
222 User4 2015
3333 User7 2015

Ce que je souhaite c'est retirer la ligne avec User4 et User7 de la liste B.

J'ai essayé ceci :

listB = listA.Except(ListB).ToList



Sauf que ça me retire rien puisque mes lignes ne sont pas pareil. J'ai essayé d'autre truc en LINQ, mais j'arrive toujours au même problème. J'ai une vague idée que je dois parcourir les deux listes, mais je suis pas mal perdue. J'avais plutôt l'habitude de faire du frontend, j'ai un peu mal avec le backend.

Si vous pouviez m'aider, j'apprécierai.

Merci

2 réponses

Messages postés
15939
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 mai 2021
545
Bonsoir,

merci de lire ceci, afin qu'à l'avenir, tu utilises mieux les balises de codes
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Un truc comme ça ?
listB = listB.Where(Function(x) (Not listA.Any(Function(y) x.Col1 = y.Col1))).ToList()

Messages postés
4
Date d'inscription
jeudi 15 novembre 2018
Statut
Membre
Dernière intervention
16 novembre 2018

Bonjour,

Et merci pour la réponse.

Mon souci, c'est que je travaille avec un système maison, il est certes en VB.NET, mais bon les deux listes en question sont des List(of ) et j'ai donc pas accès au colonne directement. Je sais pas s'il y a moyen de faire votre exemple, mais avec la position de la colonne?
Messages postés
4
Date d'inscription
jeudi 15 novembre 2018
Statut
Membre
Dernière intervention
16 novembre 2018

Bon finalement j'ai mal poser ma question, je vais la refaire plus proprement.