Sum和order嵌套List <double>

时间:2016-11-27 12:07:11

标签: c# entity-framework linq

我想要Sum()一个累积的双精度值列表 - 列表在另一个列表中。

这是具有我的累计双值列表的对象

public class Something
    {
        public int Id {get; set;}
        public string Company {get; set;}
        public List<double> AccumulatedResults { get; set; }
    }

然后将类“something”添加到另一个列表中。

var listOfSomething = new List<Something>();

foreach(var item in anotherList)
{
    listOfSomething.Add(item);
}

现在我想通过名为AccumulatedResults的列表来命令listOfSomething。我想出了这个 - 但它显然不起作用

var topResults = listOfSomething.GroupBy(g => g.Id).SelectMany(s => s.OrderByDescending(d => d.Result.Sum())).Take(10).ToList();

解决方案: 这段代码就行了 - 谢谢!

var topResults = listOfResults.OrderByDescending(s => s.AccumulatedResults.Sum());

1 个答案:

答案 0 :(得分:0)

您可以在列表中为Something的对象排序,只需将AccumulatedResults作为值的总和来订购:

listOfSomething.OrderBy(S => S.AccumulatedResults.Sum()));