方法计算在高等教育层次对象列表中的所有项目
题
我有定义为一个简单的类:
public class MyClass
{
//Some properties
public List<MyClass> SubEntries { get; set; }
//Some more properties
}
在另一个I类具有上述类型的一个列表。目前,我有严重的心理障碍。我只需要在列表中itereate和计数的MyClass所有出现。由于子条目属性可以包含0或多个条目可本身包含0或多个条目,这让我感到我需要某种recursice方法,除非LINQ提供了一种机制,以做到这一点。
任何释放这个心理日志果酱帮助将不胜感激。
解决方案
假设你不介意递归下降树,并假设该列表总是非空,没有循环:
public class MyClass
{
public List<MyClass> SubEntries { get; set; }
public int SubEntryCount
{
get { return 1 + SubEntries.Sum(x => x.SubEntryCount); }
}
}
您可能需要重命名它,这样很明显这是一个的总的计数中的子项,而不仅仅是眼前的孩子。
不隶属于 StackOverflow