Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#从文件中加载项并拆分为数组_C#_Arrays_Split - Fatal编程技术网

C#从文件中加载项并拆分为数组

C#从文件中加载项并拆分为数组,c#,arrays,split,C#,Arrays,Split,大家好,我正在尝试加载文件“item.ids”的内容,该文件当前包含以下内容: 1:Stone 2:Grass 3:Dirt 我想读取文件中的每一行,并在“:”处拆分它。我正在使用以下代码: foreach(String line in File.ReadAllLines("item.ids")) { items = line.Split(':'); } foreach (String part in items) { addT

大家好,我正在尝试加载文件“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

如果您能帮助我编写代码,那将非常有帮助。

您需要在每次阅读后填写列表

foreach(String line in File.ReadAllLines("item.ids")) 
{
    items = line.Split(':');

    foreach (String part in items)
    {
        addToList(specs, part);
    }
}

。。。否则,默认情况下,您只能添加最后一项。

每次读取后,您需要填写列表

foreach(String line in File.ReadAllLines("item.ids")) 
{
    items = line.Split(':');

    foreach (String part in items)
    {
        addToList(specs, part);
    }
}

。。。否则,默认情况下您只能添加最后一个项目。

在第一个循环中,您每次迭代时都会设置项目字段,因此当您退出循环时,它将设置为最后一个值。您可能希望更改为以下内容:

foreach(String line in File.ReadAllLines("item.ids")) 
{         
     foreach (String part in line.Split(':'))
     {         
          addToList(specs, part);     
     } 
}

在第一个循环中,每次迭代时都要设置item字段,因此当退出循环时,它将被设置为最后一个值。您可能希望更改为以下内容:

foreach(String line in File.ReadAllLines("item.ids")) 
{         
     foreach (String part in line.Split(':'))
     {         
          addToList(specs, part);     
     } 
}

您已将循环提前结束,因此项目将只包含最后一次迭代

将代码更改为:

    foreach(String line in File.ReadAllLines("item.ids")) 
    { 
        items = line.Split(':'); 

        foreach (String part in items) 
        { 
            addToList(specs, part); 
        } 
    }

您已将循环提前结束,因此项目将只包含最后一次迭代

将代码更改为:

    foreach(String line in File.ReadAllLines("item.ids")) 
    { 
        items = line.Split(':'); 

        foreach (String part in items) 
        { 
            addToList(specs, part); 
        } 
    }

哦,是的,哈哈,这就是为什么。谢谢:)哦,是的,哈哈,这就是为什么。谢谢:)你打电话到哪里?琼脂你到底想用你的价值观做什么?你在哪里打电话给addtoarray?琼脂你到底想用你的价值观做什么?