收集被修改;枚举操作可能无法运行

时间:2014-11-08 12:21:12

标签: c# enumeration

系统有时会给出标题中提到的错误。代码块如下。当我调试或尝试检查它不会给出错误但是当系统运行时它会给出错误。我在24小时运行的远程应用程序中使用此代码。有人要回答。

try
        {
            foreach (DataRow row in table.Rows)
            {
               Item item = new Item();
                if (row["ID"] != null)
                {
                    item.ID = long.Parse(row["SetID"].ToString());
                    IProtocols p = Cache.ALL.Find(item.ID,UniqueID);
                    foreach (Item protocol in p)
                    {
                        item.ID = protocol.AgencyID;
                        item.Actions = protocol.Actions;
                        item.CreatedByID = protocol.CreatedByID;
                        item.CreatedDate = protocol.CreatedDate;
                        item.Deleted = protocol.Deleted;
                        item.OId = protocol.OId;
                        item.Name = protocol.Name;
                        item.ID = protocol.ID;
                    }
                }

                item.ID = long.Parse(row["SetID"].ToString());
                if (row["ID"] != DBNull.Value)
                {
                    item.OID = long.Parse(row["OID"].ToString());
                }

                if (row["CreatedByID"] != DBNull.Value)
                {
                    item.AssignedByID = long.Parse(row["CreatedByID"].ToString());
                }


                    Cache.ALL.Add(item);

            }
        }
        catch (Exception ex)
        {
            throw new Exception("Error: " + ex.Message);
        }

0 个答案:

没有答案