Linq-Ausdruck zu finden, der max-Wertes einer Liste - <List<int>>?
Ist es eine Coole Linq-Ausdruck zu finden, der max int-Wert in ein List<List<int>>
?
Derzeit tun:
int maxValue = 0;
foreach(List<int> valueRow in values)
{
//linq expression to get max value
int value = valueRow.OfType<int>().Max();
if (value > maxValue)
{
maxValue = value;
}
}
InformationsquelleAutor Seth | 2011-06-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
SelectMany()
dafür flacht die verschachtelte Liste, dann können Sie nur das maximum der resultierenden Sequenz:InformationsquelleAutor BrokenGlass
Ja, es ist. Sie können die maximal die maximal jede verschachtelte Liste, wie diese:
Auf einer Seite-Hinweis: Ihre
OfType<int>
ist nicht notwendig, da die Liste war bereits einList<int>
.Der Unterschied wäre negligable obwohl, da bist du noch Schleifen über die gleiche Anzahl von Elementen, mit im Grunde nur ein extra-Vergleich pro verschachtelte Liste. Die syntax, die Sie bevorzugen, geht um einen größeren Unterschied hier. 🙂
InformationsquelleAutor Sven