C# 将值指定给列表的成员

C# 将值指定给列表的成员,c#,linq,list,C#,Linq,List,我的班级 class student { public string studentid { get; set; } public string groupid { get; set; }//Group id } 我的名单 List<student> pupils = new List<student>(); 我有一个整数,每次我都要增加它,转换成字符,分配给每个学生 int groupid=001; string grid = myInt.ToString

我的班级

class student   
{
 public string studentid { get; set; }
 public string groupid { get; set; }//Group id
}
我的名单

List<student> pupils = new List<student>();
我有一个整数,每次我都要增加它,转换成字符,分配给每个学生

int groupid=001;
string grid = myInt.ToString(groupid);
在这里,我为每个成员分配组id,如下所示

foreach(var student in studentsWithNoGroupId)
{
  student.groupid = "grid";
}
我的问题是我必须给一个小组分配三名成员。 换句话说,3个成员应该具有相同的组id。 在每3个成员之后,它应该增加组id,就像这样创建一个新的组id

 groupid+=1;
如何三三两两地循环,或者谁能给我一个解决方案,把三个学生分配到一个小组

使用a确定每三个成员:

for(int i = 0; i < studentsWithNoGroupId.Count; i++)
{
  if((i % 3) == 0)
   groupid += 1;
  studentsWithNoGroupId.ElementAt(i).groupId = groupid;
}
for(int i=0;i
student.groupid=groupid/3然后是groupid++,这样行吗?我不确定我是否理解你的要求。您是否询问如何将
学生
对象分组,每组3名学生?这是重复的,但最好的答案可以在中找到。您可以在中使用批处理运算符以批处理3个元素。@PanagiotisKanavos是3个学生的组,但在每3个学生之后,它应该增加组id。@sloth问道,因为我对linq和查询没有适当的知识。请尝试提供一些代码示例。我无法从批处理列表中获取任何内容。它给了我这个错误。无法将带[]的索引应用于'System.Collections.Generic.IENumerable'类型的表达式。我更新了答案,使其也适用于IEnumerableSee:感谢您的更正和解决方案。
for(int i = 0; i < studentsWithNoGroupId.Count; i++)
{
  if((i % 3) == 0)
   groupid += 1;
  studentsWithNoGroupId.ElementAt(i).groupId = groupid;
}