我有以下课程:
class Outer
{
public ICollection<Inner> Inners
}
class Inner
{
public ICollection<Inner> Inners
}我想按它们的内嵌和嵌套内嵌的总数来降序一个外部列表。
例如:
如果我有两个外设:第一个有3个内嵌的集合,每个内部有一个嵌套的内部,那么总数是5。
例如,第二个有两个内嵌的集合,每个内嵌有3个嵌套,那么总数是2+3+3=8。
因此,在返回的结果中,第二个示例应该是第一个。
有人吗?)
发布于 2013-08-04 08:42:38
首先,构建一个递归方法来计算Inner对象(包括其自身)内的内部对象:
public static int Count(Inner inner)
{
var count = 1;
if (inner.Inners != null && inner.Inners.Any())
count += inner.Inners.Sum(x => Count(x));
return count;
}然后你可以点菜:
var result = outers.OrderBy(o => o.Inners.Sum(i => Count(i)));https://stackoverflow.com/questions/18041015
复制相似问题