C# 在没有linq的情况下重写以下逻辑
有人能帮我做以下事情吗?这是一个面试问题C# 在没有linq的情况下重写以下逻辑,c#,linq,C#,Linq,有人能帮我做以下事情吗?这是一个面试问题 Rewrite this to not use LINQ or Lambda. // pseudo code for reference class Person { int Age; List<Person> Children; } List<Person> items; // linq / lambda example var total = items.SelectMany(i => i.Children).Sum
Rewrite this to not use LINQ or Lambda.
// pseudo code for reference
class Person { int Age; List<Person> Children; }
List<Person> items;
// linq / lambda example
var total = items.SelectMany(i => i.Children).Sum(i => i.Age);
重写此命令以不使用LINQ或Lambda。
//供参考的伪代码
类人物{int Age;列出子类;}
清单项目;
//linq/lambda示例
var total=items.SelectMany(i=>i.Children.Sum)(i=>i.Age);
让我们把它分解一下
foreach
循环
// items
foreach (var item in items)
{
// ...
}
SelectMany()
对应于所选项目上的内部foreach
// items
foreach (var item in items)
{
// .SelectMany(i => i.Children)
foreach (var child in item.Children)
{
// ...
}
}
Age
的Sum()
int sum = 0;
// items
foreach (var item in items)
{
// .SelectMany(i => i.Children)
foreach (var child in item.Children)
{
// .Sum(i => i.Age)
sum += child.Age;
}
}
// result is in sum
你做了什么努力?你试过编译你发布的代码吗?我意识到这是一个面试问题,不需要有意义,但是你将如何处理一组人的孩子的年龄总和?谢谢杰夫·梅尔卡多,你逐步解释的方式非常清楚。