-1
objTempList = objParentList;
foreach (var item in objTempList)
{
    objChildList = objList.AsQueryable()
                          .Where(x => x._parentId == item.filedbid)
                          .ToList<FileObjectView>();
    if (objChildList != null)
    {
        foreach (var child in objChildList)
        {
            objParentList.Add(child);
        }
    }
}

以上是我的代码,问题是分配objTempList = objParentList

objParentList有 10 行objTempList 现在在下一步中分配给我,当我正在做并在 其自动反映在列表foreach中添加更多行时,我的循环正在给出错误消息。objParentListobjTempList

4

2 回答 2

0

如果您想分配 to 的内容而objParentList不会在您的 foreach 循环内objTempList不经意地修改objTempList,那么您需要创建一个 的新实例objParentList并将其分配给objTempList.

这样,将列表项添加到循环内的父列表不会引发异常,因为您将原始副本分配给objTempList而不是引用。例如:

objTempList = new List<T>(objParentList);
于 2012-07-19T15:05:42.023 回答
-1

您应该分开列表实例以避免此错误

objTempList = objParentList.ToList();
foreach (var item in objTempList) 
{ 
   objChildList = objList.AsQueryable().Where(x => x._parentId == item.filedbid).ToList(); 
   foreach (var child in objChildList)
      objParentList.Add(child);       
}  
于 2012-07-19T14:41:04.620 回答