Peut on introduire une variable avec Linq et les lambda expressions?
Bonjour,
Je suis actuellement en train d'utiliser linq et les lambda expression et je me pose une question concernant l'écriture.
J'ai une reqûete qui ressemble à ceci.
Code:
1 2 3 4 5 6
|
var listEnigme = listEnigme .Where(e =>
e.SolutionList != null &&
e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number)) != null &&
e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number)).coef != null &&
e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number)).coef < 100); break; |
Le but est d'obtenir la liste des énigme donc la dernière solution à un coefficient inférieur à 100.
La dernière solution correspond à la solution ayant le plus grand Number.
Je voudrais savoir s'il n'est pas possible d'introduire une variable afin de ne pas avoir à répeter
Code:
e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number))
En gros fgaire quelque chose comme ça:
Code:
1 2 3 4 5 6 7
|
var listEnigme = listEnigme .Where(e =>
e.SolutionList != null &&
((mx => e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number)))
&& mx!=null
&& mx.coef != null &&
mx.coef < search.coef)); |
Par avance merci beaucoup à vous.