Ste*_*ard 4 c# recursion hierarchy c#-3.0
我有一个简单的类定义为:
public class MyClass
{
//Some properties
public List<MyClass> SubEntries { get; set; }
//Some more properties
}
Run Code Online (Sandbox Code Playgroud)
在另一个类中,我有一个上面类型的列表.目前,我有一个严重的心理障碍.我只需要遍历列表并计算MyClass的所有出现次数.由于SubEntries属性可以包含0个或多个条目,这些条目本身可以包含0个或更多条目,因此我需要某种recursice方法,除非LINQ提供了执行此操作的机制.
任何帮助释放这种心理日志果酱将不胜感激.
Jon*_*eet 11
假设你不介意递归树,并假设列表总是非空并且没有循环:
public class MyClass
{
public List<MyClass> SubEntries { get; set; }
public int SubEntryCount
{
get { return 1 + SubEntries.Sum(x => x.SubEntryCount); }
}
}
Run Code Online (Sandbox Code Playgroud)
您可能希望将其重命名,以便明确它是子条目的总数,而不仅仅是直接子项.