Very often I need something like that:
foreach (Line line in lines) { if (line.FullfilsCertainConditions()) { lines.Remove(line) } }
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; }