重复列表条目的 C# 问题

标签 c# arrays split duplicates

嘿伙计们,我有一个程序,我正在将所有行加载到一个文本框中,并将它们从 char :

中拆分出来

它工作正常,但它复制了它。我得到的输出是:

ID: 1NAME: Stone
ID: 1NAME: Stone
ID: 2NAME: Grass
ID: 2NAME: Grass
ID: 3NAME: Dirt
ID: 3NAME: Dirt

什么时候输出应该是:

ID: 1NAME: Stone
ID: 2NAME: Grass
ID: 3NAME: Dirt

我的代码是:

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


        foreach (String part in items)
        {
            addToList(specs, "ID: "+line.Split(':').First() + "NAME: "+line.Split(':').Last() );
        }
    }

我做错了什么?

最佳答案

我认为你需要为每一个松开内部。 保持对 addToList 的调用,不过

// for every line in the file....
foreach (String line in File.ReadAllLines("item.ids"))
{
   //get the parts by splitting the line on the colon
   items = line.Split(':');

   //for every item in the parts (there are two parts, according to your code)
   // so this will loop twice--adding your item twice
   foreach (String part in items)
   {

     // you are splitting again, and this is not necessary
     // you could just call items.First() or items[0]
     // and items.Last() or items[1]
     addToList(specs, "ID: "+ line.Split(':').First() + 
                      "NAME: "+line.Split(':').Last() );
   }
 }

我会做这样的事情来修复它:

foreach (string line in File.ReadAllLines("item.ids"))
{
   items = line.Split(':');
   addToList(specs, "ID: "  + items.First() + 
                    "NAME: "+ items.Last() );
}

关于重复列表条目的 C# 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439892/

相关文章:

c# - 在客户端 wasm 代码中包含密码是否安全?

python - 我们如何在数组索引中使用 'and' 运算符?

java - 如何将多个整数值拆分为索引数组

java - 在Java中如何使用方括号作为分隔符来解析字符串?

django - 如何将 Django 应用程序测试拆分到多个文件中

c# - Microsoft.AspNetCore.Hosting 的 System.BadImageFormatException

c# - 将对象从一个 Aspx 从 Javascript 传递到另一个

javascript - 如何更改 Javascript 中的数组?

C# MySQL无法连接到ubuntu服务器

c++ - 如何使用 void 函数从类创建数组