while循环执行4次,而不应该执行

时间:2015-12-16 10:54:34

标签: c#

修改<!/强>

我的错误已被发现。我忘了关闭for循环。

-------------------------------------------- ------------------------------

我有一个StreamReader从文件中读取并将每一行添加到列表框中。 但无论出于何种原因,while循环执行4次,但我只给它一个冲动。 最后,我有4次相同的列表框项目。

这是我的代码:

private void Button_Click(object sender, RoutedEventArgs e)
    {
    string path = System.AppDomain.CurrentDomain.BaseDirectory;
    listboxDates.Items.Clear();
    DirectoryInfo dinfo = new DirectoryInfo(path);
    FileInfo[] Files = dinfo.GetFiles("*.txt");


    foreach (FileInfo file in Files)
    {
        listboxDates.Items.Add(file.Name);
    }
    for (int n = listboxDates.Items.Count - 1; n >= 0; --n)
    {
        string removelistitem = "users";
        if (listboxDates.Items[n].ToString().Contains(removelistitem))
        {
            listboxDates.Items.RemoveAt(n);
        }
    }

string file = Convert.ToString(listboxDates.Items[3].ToString());
using (StreamReader stRead = new StreamReader(file))
{
   while (!stRead.EndOfStream)
   {
      listboxNames.Items.Add(stRead.ReadLine());
   }
}

1 个答案:

答案 0 :(得分:0)

试试这个:

listBox1.Items.AddRange(File.ReadAllLines(FILENAME).Where(line => line.Trim().Length > 0).ToArray());