Динамическое изменение имени переменной C # в цикле - PullRequest
0 голосов
/ 13 марта 2011

Я пытаюсь включить и переименовать метки в MySQLDataReader в C #.Я готов сделать это вне цикла, если это возможно, но мне было интересно, если есть способ динамически изменить имя переменной.Например:

while (listNamesREAD.Read())
{
    int i = 0;
    //TextBox1.Text = TextBox1.Text + fieldnames.GetString(0) + ", ";
    stringArray[i] = "List #" + listNamesREAD.GetString(0) + ": " + listNamesREAD.GetString(1);
    list1Label.Text = stringArray[i];
    i++;
}

Если возможно, я бы хотел, чтобы код мог изменять имя list1Label каждый раз, когда он повторяется.Я относительно новичок в Visual C #, поэтому любая помощь будет принята с благодарностью.

using (MySqlCommand cmd0 = new MySqlCommand(listNames, conn))
{
    conn.Open();
    listNamesREAD = cmd0.ExecuteReader();
    try
    {
        while (listNamesREAD.Read())
        {
            int i = 0;
            //TextBox1.Text = TextBox1.Text + fieldnames.GetString(0) + ", ";
            stringArray[i] = "List #" + listNamesREAD.GetString(0) + ": " + listNamesREAD.GetString(1);
            list+i+Label.Text = stringArray[i];
            i++;
        }
    }

Я также хочу выполнить это вне DataReader, если это возможно.Использование обычного цикла while, потому что размер массива является динамическим, поэтому я точно знаю, сколько раз циклически проходить - это просто вопрос динамического изменения имен переменных.

Ответы [ 2 ]

1 голос
/ 13 марта 2011

Вам понадобится массив TextBox, через который вы проходите.Нет способа сделать это так, как вы хотите, поскольку C # - это язык статической типизации.

Вы можете использовать свойство Controls (которое представляет собой совокупность всех элементов управления в форме), чтобы выполнить то, что вам нужно,Вы можете получить доступ к элементам управления по индексатору и по имени элемента управления:

  this.Controls["label1"].Text = yourText;
0 голосов
/ 13 марта 2011

Вы хотите изменить название ярлыка для достижения какой цели?у вас есть метка с именем: label1, label2, label3, и вы хотите изменить их текстовое свойство?

вы можете сделать это с помощью linq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...