这样的方法太可怕,你想就你的程序中一个地方的Listbox中就要保存几十兆数据。那电脑还不崩溃阿。为什么不分开处理呢,最笨的方法:比如说一次循环(内循环)读固定行数,处理完后重新初始化listbox,再继续循环(外循环).

解决方案 »

  1.   

    先读到内存里,然后再添加到ListBox中
      

  2.   

    这样解决,使用一个DataSet,然后把文件读进来,显示时分批显示,
    用户最多每次也就看50多条啊
      

  3.   

    应该分页,每次读完记录当前位置,下页再从当前位置读,不能一次全部读出来,你把这么多数据全部读到内存里,是对 Windows 的不负责任 :)
      

  4.   

    定义一arraylist 数组 用foreach读取一文本文件 进入 试试
      

  5.   

    一次性全部读取,然后用 .split(new char[]{'\n'}) 来分离成 string[]
    然后 this.listbox.Items.AddRange(上面那个 string[])
      

  6.   

    .ReadToEnd()一次读完,估计内存也...
      

  7.   

    用缓存技术,定义一个数组1024,每次读1024字节进来,写到listbox中去