Как исправить ошибку "The name 'i' does not exist in the current context" ? - C#
Формулировка задачи:
Как исправить ошибку "The name 'i' does not exist in the current context" в строке строке ?
Если я правильно понял, то нужно по нормальному объявить переменную
"i"
Сценарий кода: 1. Извлекаем данные из базы данных (Ексель); 2. Вносим данные в браузер Chrome; Привожу кодusing System; using System.Linq; using System.Windows.Forms; using Excel = Microsoft.Office.Interop.Excel; //****// using OpenQA.Selenium; using System.Diagnostics; using OpenQA.Selenium.Chrome; using System.IO; namespace ExcelDb { public partial class Form1 : Form { object[,] arrData; //объявляем двумерный массив (строки и столбцы) IWebDriver Browser; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string fileName = @"c:\Users\admin\Documents\Visual Studio 2015\Projects\03_PR\vr\01_kd ExcelDb\00_pr\excel\ExcelDb.xlsx"; //имя Excel файла Excel.Application xlApp = new Excel.Application(); // Application - применение Excel.Workbook xlWb = xlApp.Workbooks.Open(fileName); //открываем Excel файл Excel.Worksheet xlSht = xlWb.Sheets["Лист1"]; //имя листа в файле int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А //var arrData = (object[,])xlSht.Range["A2:B" + iLastRow].Value; //берём данные со 2-й строки, если нужно с 1-й, то замените A2 на A1 arrData = (object[,])xlSht.Range["A2:D" + iLastRow].Value; //берём данные со 2-й строки, если нужно с 1-й, то замените A2 на A1 xlWb.Close(true);//закрываем файл и сохраняем изменения, если не сохранять, то false xlApp.Quit(); //закрываем Excel for (int i = 1; i <= arrData.GetUpperBound(0); i++) //заполняем ComboBox данными из массива { this.comboBox1.Items.Add(arrData[i, 1]); } } private void groupBox2_Enter(object sender, EventArgs e) { } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // #### ID (вводится ID записи в базе данных) { for (int i = 1; i <= arrData.GetUpperBound(0); i++) { if (this.comboBox1.Text == arrData[i, 1].ToString()) { this.textBox1.Text = arrData[i, 2].ToString(); // Передача данных в textBox1 this.textBox2.Text = arrData[i, 4].ToString(); // Передача данных в textBox3 this.textBox3.Text = arrData[i, 3].ToString(); // Передача данных в textBox2 return; } } } private void button1_Click(object sender, EventArgs e) { } private void comboBox1_KeyUp(object sender, KeyEventArgs e) { if (this.comboBox1.Text == "") { this.textBox1.Text = ""; return; } for (int i = 1; i <= arrData.GetUpperBound(0); i++) { if (this.comboBox1.Text == arrData[i, 1].ToString()) { this.textBox1.Text = arrData[i, 2].ToString(); return; } } } private void textBox1_TextChanged(object sender, EventArgs e)// #### { } private void textBox2_TextChanged(object sender, EventArgs e)// #### { } private void textBox3_TextChanged(object sender, EventArgs e) /// #### { } private void button2_Click(object sender, EventArgs e) { OpenQA.Selenium.Chrome.ChromeOptions co = new OpenQA.Selenium.Chrome.ChromeOptions(); co.BinaryLocation = @"c:\soft\UD\GoogleChromePortable\1_1\GoogleChromePortable_1.exe"; Browser = new OpenQA.Selenium.Chrome.ChromeDriver(co); Browser.Navigate().GoToUrl(arrData[i, 2].ToString()); // } } }
Решение задачи: «Как исправить ошибку "The name 'i' does not exist in the current context" ?»
textual
Листинг программы
public Form1() // Конструктор класса (формы) private void Form1_Load(object sender, EventArgs e) // Обработчик события загрузки формы private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // Обработчик события изменения выбора в combobox1 private void comboBox1_KeyUp(object sender, KeyEventArgs e) // Обработчик события "отжатия" кнопки (т.е. вы нажали, а потом убрали и сработал этот обработчик) private void combobox_selectionChanged(object sender, KeyEventArgs e) { if ((sender as ComboBox).SelectedItem != null) ID = Convert.ToInt32((sender as ComboBox).SelectedItem.ToString()); } private void textBox1_TextChanged(object sender, EventArgs e) // Обработчик события изменения текстового поля textbox1 private void textBox3_TextChanged(object sender, EventArgs e) // Обработчик события изменения текстового поля textbox3 private void button2_Click(object sender, EventArgs e) // Обработчик события нажатия (клика) по кнопке button2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д