我想从Windows窗体中的CSV创建输出
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();
}
}
我真的不知道为什么它不会建立。
答案 0 :(得分:2)
您没有为Tabelle类的第10行声明的变量分配任何内容。您可能需要将Artikel设为一门课程,然后尝试以下方法:
Artikel a = new Artikel();
a.id = data[0];
编辑:如果确定要使用结构,此答案可能会有所帮助:C# Structs: Unassigned local variable?