Linq表达式来查找List<;列表<;int>>;

本文关键字:lt gt int 列表 Linq 查找 List 表达式 | 更新日期: 2023-09-27 17:59:17

是否有一个很酷的Linq表达式来查找List<List<int>>中的最大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;
    }
}

Linq表达式来查找List<;列表<;int>>;

您可以使用SelectMany()来平坦嵌套列表,然后您就可以获得结果序列的最大值:

int maxValue  = values.SelectMany( x => x).Max();

是的。您可以获得每个嵌套列表的最大值中的最大值,如下所示:

int maxValue = values.Max(row => row.Max());

附带说明:您的OfType<int>不是必需的,因为列表已经是List<int>了。