C# 如何在foreach循环中获取列表的索引

C# 如何在foreach循环中获取列表的索引,c#,asp.net,foreach,checkboxlist,C#,Asp.net,Foreach,Checkboxlist,我在ChekboxList上有foreach循环,比如 foreach (ListItem li in chkUnitCategory.Items) { } 现在我需要执行一项任务,在该任务中,当选中索引0的复选框时,必须选中列表中的所有其他复选框,反之亦然 因此,如何使用复选框列表的索引执行此任务。for(int i=0;i

我在ChekboxList上有foreach循环,比如

foreach (ListItem li in chkUnitCategory.Items)
{
}
现在我需要执行一项任务,在该任务中,当选中索引0的复选框时,必须选中列表中的所有其他复选框,反之亦然

因此,如何使用复选框列表的索引执行此任务。

for(int i=0;ifor (int i = 0; i < chkUnitCategory.Items.Count; i++)
{
  chkUnitCategory.Items[i].Selected = chkUnitCategory.Items[0].Selected;
}
{ chkUnitCategory.Items[i]。选中=chkUnitCategory.Items[0]。选中; }
迭代时,不允许仅更改注释集合

如果需要,请尝试:

foreach (ListItem li in chkUnitCategory.Items)
{
   li.Selected = chkUnitCategory.Items[0].Selected;
}

以下是使用LINQ编写的方法:

chkUnitCategory.Items.ForEach(item => item.Selected = chkUnitCategory.Items.First().Selected)

你可以修改一个项目,只是不能删除或添加项目到集合中。实际上,项目是我的错误,它的集合。谢谢你的指点:)你对你的问题有两个向上投票的答案。如果他们中的任何人以令人满意的方式回答了您的问题,您应该将其标记为接受答案(灰色复选框)。这样做将有助于其他人(与您的问题相同)了解什么是可接受的答案,并将问题标记为已回答。