Bonjour est-il possible de déclarer une variable locale dans une expression Linq.
Quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
var ret = (from a in m_Liste
                        where (int nb => l.m_SousListe.Count(sl => sl.m_Condition)) > 0
                        select new { arRef = l.m_Ref, arNb = nb}).ToArray();
J'ai cherché mais sans auccès...

Mon but est d'avoir uniquement les items de la liste qui contiennent une sous liste qui vérifie une condition et à coté de la référence de l'item de la liste principale le nombre d'item sous items de la sous liste qui sont vérifié.
Qui a suivi ? ^^ En fait c'est simple; pour comprendre il faut juste regarder le résultat attendu en fin de post ça saute au yeux mais c'est assez dur avec cet exemple générique......

J'ai bien essayé cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
var ret = from l in m_Liste
                              from sl in l.m_SousListe
                              where sl.m_Condition
                              select new { arRef = l.m_Ref, arNb = a.m_Geometries.Where(sl2=> sl2.m_Condition).Count() };
mais ce n'est pas très propre et en plus ça duplique mes lignes :

item1 / 3
item1 / 3
item1 / 3
item2 / 1
item3 / 2
item3 / 2

Or je souhaiterais ceci :

item1 / 3
item2 / 1
item3 / 2

D'avance merci à ceux qui se pencheront sur mon soucis.