运行以下代码段时,我抛出异常。
我有一个iListof Webelements,并且如果该元素包含字符串“ WSC”,我想将其从iList中删除。
谁能帮我吗?下面的代码。
IList<IWebElement> tableRows;
tableRows = FindElement(By.XPath("//div[@ui-grid='vm.gridWoodSmokeViolations']")).FindElements(By.XPath("//div[@role='row']"));
Console.WriteLine("table row count before loop: " + tableRows.Count);
foreach (var row in tableRows) {
if (row.Text.ToString().Contains("WSC"))
{
tableRows.Remove(row); //exception thrown here
}
}
感谢您提供的任何帮助
最佳答案
并非所有实现IList的东西都是可编辑的。最简单的解决方案是使用Linq来构建过滤器并对其执行ToList()。
IList<IWebElement> tableRows;
tableRows = FindElement(By.XPath("//div[@ui-grid='vm.gridWoodSmokeViolations']")).FindElements(By.XPath("//div[@role='row']"));
Console.WriteLine("table row count before loop: " + tableRows.Count);
tableRows = tableRows.Where(row=> !row.Text.ToString().Contains("WSC")).ToList();
关于c# - System.NotSupportedException:“集合为只读”。从iList中删除对象时抛出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46187478/