В следующем фрагменте я пытаюсь скрыть дочерний узел дерева, если в списке нет значения. В настоящее время у меня 63 дочерних узла, но цикл повторяется для верхних 32 значений. Я не мог запустить его для полного числа дочерних узлов. Я буду благодарен, если вы предложите диагностировать проблему.Для цикла повторяется половина времени в C#
for (int i = 0; i < docTree.Nodes[0].ChildNodes.Count; i++)
{
if (tempList.Contains(docTree.Nodes[0].ChildNodes[i].Value))
{
}
else {
docTree.Nodes[0].ChildNodes.RemoveAt(i);
}
}
Итерации назад. Вы удаляете узлы по мере их перебора по ним, что изменяет позиции индекса существующих узлов. – LarsTech
Или добавьте 'i -;' после удаления, чтобы синхронизировать –