我们正在尝试加载我的文件“item.ids”的内容,该文件目前包含此内容:
1:Stone
2:Grass
3:Dirt
我想读取文件的每一行并将其拆分为“:”。我使用以下代码:
foreach(String line in File.ReadAllLines("item.ids")) {
items = line.Split(':');
}
foreach (String part in items)
{
addToList(specs, part);
}
}
public void addToArray(Array array, int index, String s)
{
try
{
array.SetValue(s, index);
}
catch (Exception ex)
{
addToList(specs, ex.ToString());
}
}
public void addToList(ListBox listbox, String s)
{
listbox.Items.Add(s);
}
这样可行,但它只执行最后一行,因此它会像这样输出:
3
dirt
如果你可以帮助我使用我的代码,那将非常有帮助。
答案 0 :(得分:4)
每次阅读后都需要填写清单。
foreach(String line in File.ReadAllLines("item.ids"))
{
items = line.Split(':');
foreach (String part in items)
{
addToList(specs, part);
}
}
...否则你只是默认添加最后一项。
答案 1 :(得分:1)
在第一个循环中,每次迭代时都设置项目字段,因此当您退出循环时,它将被设置为最后一个值。你可能想要改成这样的东西:
foreach(String line in File.ReadAllLines("item.ids"))
{
foreach (String part in line.Split(':'))
{
addToList(specs, part);
}
}
答案 2 :(得分:0)
您已将循环关闭到早期,因此项目仅包含最后一次迭代
将您的代码更改为:
foreach(String line in File.ReadAllLines("item.ids"))
{
items = line.Split(':');
foreach (String part in items)
{
addToList(specs, part);
}
}