【问题标题】:need to fill my listbox with first index of each line in a text file需要用文本文件中每一行的第一个索引填充我的列表框
【发布时间】:2018-12-08 21:31:33
【问题描述】:

一开始我正在为一项似乎相当容易的任务而苦苦挣扎。 我正在尝试用我的文本文件中每一行的第一个索引填充我的listbox。这是我的代码,我目前得到的是第一行的第一个索引重复了 6 次。

int Counter = 0;
StreamReader supReader = new StreamReader(@"data\Suppliers.txt", true);
while (!supReader.EndOfStream)
{
     string line = supReader.ReadLine();
     string[] tokens = line.Split(new char[] { ',' }, StringSplitOptions.None);
     foreach (string s in tokens)
     {
          if (listsup.Items.Contains(tokens) == false)
          {
                listsup.Items.Add(tokens[0]);
                Counter++;
          }

      }

}
supReader.Close();

任何帮助将不胜感激,谢谢

【问题讨论】:

  • 这是什么语言的?
  • CSharp,对不起。没说。

标签: c# arrays text listbox duplicates


【解决方案1】:

好的,为了让整个事情顺利进行,我将代码更改为更实用的方法:

Supfile = System.AppDomain.CurrentDomain.BaseDirectory + "data\\Suppliers.txt";

        try
        {
            StreamReader inputFile;
            inputFile = File.OpenText(Supfile);

            string lines;

            while (!inputFile.EndOfStream)
            {
                lines = inputFile.ReadLine();
                string[] tokens = lines.Split(',');
                if (!listsup.Items.Contains(tokens))
                {
                    listsup.Items.Add(tokens[0]);
                }
                else { listsup.Update(); }
            }
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

这很好用,必须在顶部添加listsup.Items.Clear();以确保它不会重复列表框中的列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 2011-12-17
    • 2014-12-13
    • 2023-03-20
    相关资源
    最近更新 更多