C#“索引超出范围.必须是非负数”
本文关键字:是非 范围 索引 | 更新日期: 2023-09-27 18:32:06
我正在尝试创建一个小型应用程序,该应用程序读取邮政编码的excel文件,然后自动检查某些网站的3G信号覆盖范围。 但是,此代码块正在产生主题标题中提到的错误。
//Find the input field on the three postcode checker
int x;
for (x = 0; x < 100; x++)
{
IWebElement input = driver.FindElement(By.Name("postcode"));
string postcodeInput = (dataGridView1.SelectedCells[x].Value.ToString());
string returnKey = OpenQA.Selenium.Keys.Return;
input.SendKeys(postcodeInput);
input.SendKeys(returnKey);
IWebElement output = driver.FindElement(By.TagName("h5"));
string postcodeOutput = output.Text;
dataGridView1.Rows[x].Cells[1].Value = postcodeOutput;
input.Clear();
}
driver.Quit();
VS 突出显示的行是:
string postcodeInput = (dataGridView1.SelectedCells[x].Value.ToString());
有人对我哪里出错有任何想法吗?
谢谢
不要在for
循环的极限值检查中硬编码 100。 使用网格中的实际计数,如下所示:
for (x = 0; x < dataGridView1.SelectedCells.Count; x++)
可能是网格的选定单元格集合没有您期望的内容。 但是硬编码这样的值从来都不是一个好主意,这就是为什么你得到一个"索引超出范围"错误的原因。