在IEnumerable <IEnumerable <int >>中对IEnumerable <int>进行排序

Ben*_*man 1 linq lambda c#-4.0

我有一个类型的对象IEnumerable<IEnumerable<int>>.我需要对内部的内部进行排序,IEnumerable<int>但我不知道该怎么做.

我尝试转换IEnumerable<IEnumerable<int>>List<List<int>>使用此代码使排序更容易:

var sortedResults = results.ForEach(x => x.ToList());
Run Code Online (Sandbox Code Playgroud)

但是我收到错误"无法将void分配给隐式类型变量"

如果我同时进行排序和转换,我也会收到同样的错误:

var sortedResults = results.ToList().ForEach(x => x.ToList().Sort((a ,b) => a.CompareTo(b))));
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

Bro*_*ass 6

只需使用OrderBy- 因为这些是整数,这意味着您可以使用数字本身作为标准:

sortedResults = results.Select(x => x.OrderBy(num => num));
Run Code Online (Sandbox Code Playgroud)

上面假设您希望输出只是一个IEnumerable<IEnumerable<int>>如果您需要列表,ToList()则需要使用.