Salut,
Je cherche à faire un not in avec une lambda expression MAIS les listes 1 et 2 ont des clefs double et dont de nature différentes.
Quelqu'un a-t-il déjà vu ça quelque part ?
D'avance merci
Laurent
Version imprimable
Salut,
Je cherche à faire un not in avec une lambda expression MAIS les listes 1 et 2 ont des clefs double et dont de nature différentes.
Quelqu'un a-t-il déjà vu ça quelque part ?
D'avance merci
Laurent
J'avoue ne pas avoir compris. Un ptit exemple des listes?
Je ne suis pas sûr d'avoir compris non plus vous voulez faire un except de votre liste1 par rapport à la liste2?Citation:
Salut,
Je cherche à faire un not in avec une lambda expression MAIS les listes 1 et 2 ont des clefs double et dont de nature différentes.
Quelqu'un a-t-il déjà vu ça quelque part ?
D'avance merci
Laurent
Qu'entendez vous par clefs double? une clé primaire composite?
Disons que j'ai une liste de int qui contient la clef des lignes d'une classe complexe dont la clef primaire est également un int, que je ne veux pas afficher dans une grille.
Je veux afficher tous les éléments de aAfficher dont la clef n'est pas dans aExclure.Code:
1
2
3
4
5
6
7
8
9
10 class aExclure : List<int>{} class cc{ public int cle{get;set;} public string nom{get;set;} public string description{get;set;} } class aAfficher : List <cc>{}
D'avance merci pour votre aide,
Laurent
ouCode:aAfficher.Where(i=>!aExclure.Any(j=>i.cle==j));
Code:aAfficher.Where(i=>aExclure.All(j=>i.cle!=j));
Ok merci, je vais tester ça lundi...
Je suis pas sur il me semble que tu dois egalement implementer a ta classe IComparer.
Je pense que le plus propre et simple, c'est l'utilisation de except
Et pour pouvoir personnaliser ta méthode d'exclusion, il faudrait implémenter IEquatable sur tes objets à comparer.