将值分配给列表成员

时间:2014-05-23 11:29:48

标签: c# linq list

我的班级

class student   
{
 public string studentid { get; set; }
 public string groupid { get; set; }//Group id
}

我的清单

List<student> pupils = new List<student>();

在这里,我选择没有组ID的学生。 我已将没有组ID的学生分配为=“00”

      var studentWithNogroupID = from student in pupils where student.groupid == "00" select student;

我有一个整数,我每次都会增加并转换为char并指派每个学生。

int groupid=001;
string grid = myInt.ToString(groupid);

我在这里为每个成员分配这样的组ID ..

foreach(var student in studentsWithNoGroupId)
{
  student.groupid = "grid";
}

我的问题是我必须为一个小组分配三个成员。 换句话说,3个成员应具有相同的组ID。 在每3个成员之后,它应该增加组ID,就像这样创建一个新的组ID。

 groupid+=1;

如何在for循环中三乘三,或者任何人都可以为我提供一个解决方案,将三名学生分配给一个小组。

1 个答案:

答案 0 :(得分:1)

使用modulo operator确定每个第三个成员:

for(int i = 0; i < studentsWithNoGroupId.Count; i++)
{
  if((i % 3) == 0)
   groupid += 1;
  studentsWithNoGroupId.ElementAt(i).groupId = groupid;
}