gpt4 book ai didi

c# - 计算分层对象列表中所有项目的方法

转载 作者:太空狗 更新时间:2023-10-30 00:17:37 25 4
gpt4 key购买 nike

我有一个简单的类定义为:

public class MyClass
{
//Some properties
public List<MyClass> SubEntries { get; set; }
//Some more properties
}

在另一个类中,我有一个上述类型的列表。目前,我有严重的精神障碍。我只需要遍历列表并计算 MyClass 的所有出现次数。由于 SubEntries 属性可以包含 0 个或多个条目,这些条目本身可以包含 0 个或多个条目,这让我觉得我需要某种递归方法,除非 LINQ 提供了执行此操作的机制。

如果您能帮助解决这个心理日志障碍,我们将不胜感激。

最佳答案

假设您不介意向下递归树,并假设列表始终为非空且没有循环:

public class MyClass
{
public List<MyClass> SubEntries { get; set; }

public int SubEntryCount
{
get { return 1 + SubEntries.Sum(x => x.SubEntryCount); }
}
}

您可能想要重命名它,以便清楚它是子条目的总数,而不仅仅是直系子条目。

关于c# - 计算分层对象列表中所有项目的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com