Трудно дать полезный совет, не зная, какие изменения вносятся.Однако шаблон, который я нашел, имеет наиболее универсальное значение для создания нового списка.
Например, если вам нужно посмотреть на каждый элемент и выбрать между его удалением и оставлениемкак есть, или вставляя элементы после него, вы можете использовать такой шаблон:
IEnumerable<string> butcherTheList(IEnumerable<string> input)
{
foreach (string current in input)
{
if(case1(current))
{
yield return current;
}
else if(case2(current))
{
yield return current;
yield return someFunc(current);
}
// default behavior is to yield nothing, effectively removing the item
}
}
List<string> newList = butcherTheList(input).ToList();