是否有一个很酷的Linq表达式来查找List<List<int>>
中的max int值?
目前正在做:
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;
}
}
答案 0 :(得分:13)
您可以使用SelectMany()
来展平嵌套列表,然后您可以获取结果序列的最大值:
int maxValue = values.SelectMany( x => x).Max();
答案 1 :(得分:3)
是的。您可以获得每个嵌套列表的最大值,如下所示:
int maxValue = values.Max(row => row.Max());
旁注:您的OfType<int>
不是必需的,因为该列表已经是List<int>
。