c# - 如何分割在 foreach 循环中迭代的元素

标签 c# linq foreach

我需要遍历整个用户列表,但一次需要抓取 20 个。

foreach (var student in Class.Students.Take(20))
{
   Console.WriteLine("You belong to Group " + groupNumber);
   groupNumber++;
}

这样,前 20 个将属于第 1 组,后 20 个将属于第 2 组,依此类推。

Take the correct syntax for this?我相信 Take 需要 20 次才能完成。谢谢!

最佳答案

你可以这样做:

int i = 0;
foreach (var grouping in Class.Students.GroupBy(s => ++i / 20))
    Console.WriteLine("You belong to Group " + grouping.Key.ToString());

关于c# - 如何分割在 foreach 循环中迭代的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849315/

相关文章:

Linq where 条件 on datetime.ToString()

c++ - 是否每个循环都会评估基于 C++11 范围的 for 循环条件?

c# - ASP.NET MVC3 C#-foreach

c# - 创建 native C++ OpenGL 3D 编辑器并将其用作 C# 中的 WinForms 或 WPF 控件

c# - 运行 selenium 单元测试时 Firefox 崩溃

c# - 使用 Linq 将 DataTable 分解成固定大小的 block 的干净方法是什么?

linq - LINQ 查询的差异

javascript - Knockout.js:在原型(prototype)上调用函数,但保留在 foreach 的上下文中

javascript - 使用 Array.forEach 迭代 getElementsByClassName 的结果

c# - 如何使用 MySQL DataReader 处理 vc# 中的空指针异常?