gpt4 book ai didi

c# - 在没有 Foreach 循环的情况下访问 LINQ 结果中的行?

转载 作者:行者123 更新时间:2023-11-30 19:49:52 24 4
gpt4 key购买 nike

对于我编写的每个 LINQ 查询,我总是使用 foreach 循环来遍历结果。现在,我有一个程序,我想在其中获取结果的前 50 行,对这些行进行一些计算,然后获取结果的下 50 行等。

使用 LINQ 和 C# 执行此操作的良好标准方法是什么?

最佳答案

.Skip().Take() 在这种情况下将是最好的方法(就清晰度而言)。例如:

var results = db.Table.Select(); // Your query here

int rowCount = results.Count(); // Count rows once and store

for(int i = 0; i <= rowCount; i += 50)
{
var paged = results.Skip(i).Take(50);

// do the calculations with the groups of 50 here
}

值得注意的是,尽管这看起来更清楚(您从结果中取出 50 组),但每次调用 Skip() 和 Take() 时,都有可能必须重新枚举集合...这实际上比简单地使用 foreach 一次枚举结果的效率要低。

关于c# - 在没有 Foreach 循环的情况下访问 LINQ 结果中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214142/

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