Best practice to avoid InvalidOperationException: Collection was modified?

前端 未结 4 962
没有蜡笔的小新
没有蜡笔的小新 2021-02-08 00:42

Very often I need something like that:

 foreach (Line line in lines)
 {
    if (line.FullfilsCertainConditions())
    {
       lines.Remove(line)
    }
 }
         


        
4条回答
  •  刺人心
    刺人心 (楼主)
    2021-02-08 01:08

    Build a new list instaed:

    public IList GetListWithoutFullfilsCertainConditions(IList fullList) 
    {
        IList resultList = new List(fullList.Count);
    
        foreach (Line line in fullList)
        {
           if (!line.FullfilsCertainConditions())
           {
              resultList.Add(line)
           }
        }
    
        return resultList;
    }
    

提交回复
热议问题