Я думаю, что мы выяснили это за это время (см. https://github.com/AngleSharp/AngleSharp/issues/838).
Только для дальнейшего использования (на случай, если кто-то столкнется с той же проблемой, что происходит довольно легко) ):
public void DeleteRows(IElement table)
{
var rows = table?.QuerySelectorAll("tr").ToArray();
foreach (var row in rows)
{
row.Remove();
}
var legnthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}
Ключ к получению снимка состояния c перед изменением DOM. Следовательно, .ToArray()
, который приходит из LINQ и может применяться к любому итератору.