Я пытаюсь использовать мои списки строк в качестве имен своих переменных для флажков, но получаю ошибку - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь использовать мои списочные индексы в качестве флажка для создания имен переменных, но получаю ошибку:

Локальный или параметр с именем 'item' не может быть объявлен в этой области, потому что это имяиспользуется во внешней локальной области для определения локального или параметра

List<string> boxNames = new List<string>();
 for (int i=0;i<Treat_departments.Count;i++)
 {
   boxNames.Add("B" + i.ToString());
 }

foreach( string item in Treat_departments)
 {

  CheckBox item = new CheckBox();
 }

// Я только что сделал это в Python, и он работает правильно

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

У вас есть повторяющиеся имена переменных, объявленные в цикле foreach и во внутренней части цикла. Измените имя на item, и оно будет работать.

0 голосов
/ 14 июня 2019

Ошибка довольно очевидна: вы объявили переменную с именем item в цикле foreach. Затем вы пытаетесь объявить другую переменную с тем же именем item внутри foreach, вы не можете этого сделать.

Более того, вы не можете привести строковую переменную в качестве флажка, мне не совсем понятно, что вы пытаетесь сделать, может быть, это?

List<string> boxNames = new List<string>();
 for (int i=0;i<Treat_departments.Count;i++)
 {
   boxNames.Add("B" + i.ToString());
 }

foreach( string item in Treat_departments)
 {
  CheckBox itemBox = new CheckBox({ text = item });
 }

или

foreach( string item in Treat_departments)
 {
  CheckBox itemBox = new CheckBox({ name = item });
 }
...