c# - 集合被修改;即使对行计数应用验证,枚举操作也可能不会执行?

标签 c# collections

您好,我很抱歉,我是 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/

相关文章:

c# - 带有 IdentityServer4 的 Blazor(服务器端)

c# - 如何在 2.1 MongoDB C# 驱动程序中使用地理空间查询?

c# - MySQL C# 文本编码问题

c# - Alpha 混合的初始屏幕在 XP 中呈现垃圾,但在 Win7 中正常工作

python - 在 Python 中减去两个列表

javascript - 收藏一定要有模型吗?

java - 在Java集合框架中如何确保循环链表的所有对象至少被遍历一次而不重复?

c# - 如何使折线图中的数据点可见?

java - 将 LinkedList 转换为 ArrayList 以加快并发迭代

javascript - Meteor Collections 以及何时使用模式