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());

有人对我哪里出错有任何想法吗?

谢谢

C#“索引超出范围.必须是非负数”

不要在for循环的极限值检查中硬编码 100。 使用网格中的实际计数,如下所示:

for (x = 0; x < dataGridView1.SelectedCells.Count; x++)

可能是网格的选定单元格集合没有您期望的内容。 但是硬编码这样的值从来都不是一个好主意,这就是为什么你得到一个"索引超出范围"错误的原因。

相关文章: