c# - Linq 从 List<List<int>> 中获取包含最多元素和其元素内部最大差异的 List

标签 c# linq

我有一个List<List<int>> testLists 我想找到列表中的数字具有最大差异最长一个AND。我知道有一个单行 Linq,但我似乎无法弄清楚。

它必须是这样的:

List<int> myMaxTest = testLists
                           .OrderByDescending(s => s.Count) // Longest
                           .ThenBy( s => s.Max(s.Max() - s.Min())) // Biggest Difference
                           .First();  // Only one list from the top

这是不正确的。它不会编译。我的ThenBy部分不太好。你们能告诉我如何做到这一点吗? 谢谢!

最佳答案

你的ThenBy应该是

.ThenByDescending(s => s.Max() - s.Min()) // Biggest difference

您当前要求它按每个列表的“最高Max - Min”对列表进行排序。这没有意义,而且(幸运的是!)意味着它没有编译。

关于c# - Linq 从 List<List<int>> 中获取包含最多元素和其元素内部最大差异的 List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34871166/

相关文章:

c# - 如何从 IIS 中托管的 ASP 应用执行 Azure Powershell cmdlet

c# - 在运行时检查属性类型并将相同的类型赋予通用 lambda 表达式参数 T

c# - LINQ 从集合中获取项目 <t>

c# - 在 asp.net 中动态生成 HTML 元素时缺少图像源

c# - 如何使用只读属性通知 UI 更改?

c# - 具有特定元素的 ASP 控件的 RegEx 搜索模式

c# - 设置接口(interface)属性的默认值?

linq - 删除两个 List<string> 集合之间的重叠项目

c# - 使用 linq 加入 OData 服务的替代方法

javascript - Mapper 不包含 CreateMap C# 的定义