Как исправить ошибку CS0165: «Использование неназначенной локальной переменной« a »»? - PullRequest
0 голосов
/ 28 марта 2019

Я хочу создать вывод из CSV в Windows Forms

 public struct Artikel
    {
        public String id;
        public double d;
        public double dmin;
        public double I;
        public double d2;
        public double e;
        public double I1;
        public double I2;

    }

Теперь я объявляю путь

 private void buttonEingabe_Click(object sender, EventArgs e)
    {
        var tabelle = Tabelle.getTabel(@"C:\Users\alexa\source\repos\metallBohrrer\metallBohrrer\db.csv");
        int index = 0;
        int anzahl = tabelle.Length;
        string temp = textBoxpk.Text;
        int tempint = 0;

        for (; index < anzahl;)
        {
            if (temp == tabelle[index].id)
            {
                tempint = index;
            }

            index++;
        }

        textBoxpk.Text = tabelle[tempint].id;
        //   textBox2.Text = tabelle[tempint].d;
        //   textBox3.Text = tabelle[tempint].dmin;


    }

После этого я хочу объявить его, и здесь я вижуошибки "CS0165 C # Использование неназначенной локальной переменной 'a'" и "CS0136 C # Локальный или именованный параметр не может быть объявлен в этой области, поскольку это имя используется во внешней локальной области для определения локального или параметра."

public static class Tabelle
    {
        public static Artikel[] getTabel(String Datei)
        {
            List<Artikel> artikel = new List<Artikel>();
            String[] zeilen = File.ReadAllLines(Datei);
            foreach (String zeilen in zeilen)
            {
                String[] data = zeilen.Split(';');
                Artikel a;
                a.id = data[0];

                artikel.Add(a);

            }
            return artikel.ToArray();
        }
    }

Я действительно не знаю, почему он не будет строить.

1 Ответ

2 голосов
/ 28 марта 2019

Вы не присваиваете своей переменной ничего, что вы объявляете в строке 10 вашего класса Tabelle. Возможно, вы захотите сделать Artikel классом, а затем попробуйте это:

Artikel a = new Artikel();
a.id = data[0];

РЕДАКТИРОВАТЬ: Если вы решили использовать структуру, этот ответ может помочь: C # Структуры: неназначенная локальная переменная?

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