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 c# : Sélectionner tout - Visualiser dans une fenêtre à part
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 c# : Sélectionner tout - Visualiser dans une fenêtre à part
e.SolutionList.FirstOrDefault(ls => ls.Number == e.SolutionList.Max(max=>max.Number))

En gros fgaire quelque chose comme ça:

Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
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.