您好,我很抱歉,我是 C# 编程的初学者,虽然我知道在这个问题上已经创建了很多线程,但我似乎找不到适合我的案例的线程,尤其是因为我已经应用了这个在其他形式上,它起作用了。
This解决方案告诉我向后迭代它,但我不知道如何/在哪里应用它。我在 in in
处收到错误foreach (DataRow dataRow_AvailableEmp in AvailableEmp_dataTable.Rows)
这是其余的代码。
if (WithTasks_Datatable.Rows.Count > 0)
{
foreach (DataRow dataRow_WithTask in WithTasks_Datatable.Rows)
{
Booked_Initial = dataRow_WithTask["Assigned"].ToString();
if (this_Initial != Booked_Initial) //di booked
{
//CHECK IF IN DATATABLE
if (AvailableEmp_dataTable.Rows.Count > 0)
{
foreach (DataRow dataRow_AvailableEmp in AvailableEmp_dataTable.Rows)
{
Available_Initial = dataRow_AvailableEmp["EmpID"].ToString();
if (this_Initial != Available_Initial) //NOT IN DB
{
//ADD
AvailableEmp_dataTable.Rows.Add(this_EmpID, this_Initial, PositionName, TeamName, TeamLead);
}
}
}
else
{
//ADD
AvailableEmp_dataTable.Rows.Add(this_EmpID, this_Initial, PositionName, TeamName, TeamLead);
}
}
}
}
最佳答案
一个简单的解决方案是将您要迭代的行放入一个新列表中:
foreach (DataRow dataRow_AvailableEmp in AvailableEmp_dataTable.Rows.Cast<DataRow>().ToList())
关于c# - 集合被修改;即使对行计数应用验证,枚举操作也可能不会执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806513/