按最小值对列表列表进行排序

时间:2017-11-14 09:59:31

标签: c# list linq

我正在尝试按列表中的最小整数值对列表进行排序。这就是我到目前为止所处的位置。

var SortedList = from lists in List 
                 orderby lists.List.Min(Min=>Min.value) 
                 ascending
                 select list ;

例如:

var x = new List<int>{ 5, 10, 4, 3, 0 };
var y = new List<int> { 4, -1, -5, 3, 2 };
var z = new List<int> { 3, 1, 0, -2, 2 };

var ListofLists = new List<List<int>> {x, y, z};

我的Linq的输出应该是,按列表列表中的最小值对列表进行排序。我的示例中的列表序列为:

y - &gt; z - &gt; X

我尝试了很多linq表达式并在网上搜索过。问题似乎很简单......感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:12)

这很简单:

var sorted = ListofLists.OrderBy(l => l.Min());

或者,如果您更喜欢查询语法,则应该执行以下操作:

var sorted = from list in ListofLists 
             orderby list.Min()
             select list;

这里有效:https://dotnetfiddle.net/bnfGOG