gpt4 book ai didi

.net - Linq to objects 查找索引和求和结果

转载 作者:行者123 更新时间:2023-12-01 01:07:23 26 4
gpt4 key购买 nike

我有一组任务,其中包含许多字段,但更重要的是 Int 类型的持续时间。

List<Task> tasks = new List<Task>;
tasks.Add(new Task{Name= 'Task 1', Duration = 3 });
tasks.Add(new Task{Name= 'Task 2', Duration = 2});
tasks.Add(new Task{Name= 'Task 3', Duration = 1});
tasks.Add(new Task{Name= 'Task 4', Duration = 4});

给定一个任务,我想在列表中找到该任务,然后总结它之前的任何内容。例如。如果我的任务是“任务 3”,那么我想要的结果是 5,即“任务 3”之前的任务是任务 1 和任务 2,持续时间分别为 3 和 2,等于 5。

希望这是有道理的,有人可以提供答案。希望用 linq 来做到这一点,而不是仅仅迭代循环。

提前致谢。

最佳答案

您可以使用 Linq 的 TakeWhile 扩展方法后跟 Sum :

var result = tasks.TakeWhile(t => t.Name != "Task 3").Sum(x => x.Duration);

关于.net - Linq to objects 查找索引和求和结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692122/

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