У меня есть строка Collection, заполняемая с ID как так ->Получить текущий индекс для удаления в Струнных коллекциях
12345
23456
34567
и так далее. Мне нужно сделать это по запросу пользователя, и когда будут выполнены определенные параметры, просмотрите этот список, начиная с вершины, и выполните метод(), используя этот идентификатор. В случае успеха я удалю его из списка и перейду дальше.
Я, смущающе, никогда раньше не работал с коллекцией таким образом. Может кто-то указать мне в правильном направлении. Примеры, похоже, относятся к разнообразию Console.Writeline("");
.
Моя база, невежественная, попытка выглядит так ->
var driUps = Settings.Default.DRIUpdates.GetEnumerator();
while (driUps.MoveNext())
{
var wasSuccessfull = PerformDRIUpdate(driUps.Current);
if (wasSuccessfull)
{
driUps.Current.Remove(driUps.Current.IndexOf(driUps.Current));
}
}
Часть меня больше всего волнует это Remove();
Не есть ли лучший способ, чтобы получить индекс текущего? Любые советы, подсказки, критика, указатели и т. Д. Приветствуются. Благодаря!
Это также позволяет избежать проблемы с аннулированием перечислителя при удалении элемента из коллекции. +1 – TreDubZedd
+1 для обеспечения решения, которое не использует перечислитель, для «изменения, измененного в процессе перечисления». В зависимости от размера коллекции, но я обычно зацикливаю их назад по соображениям производительности, чтобы предотвратить повторное построение внутренней коллекции. –
@chibacity: Перемещаясь назад, вы «поменяете» условие «while», по существу? И 'idx = strCol.Count'? –