Vb.net 无法使用线程、后台工作程序或字符串生成器读取和处理大型txt文件

Vb.net 无法使用线程、后台工作程序或字符串生成器读取和处理大型txt文件,vb.net,Vb.net,在.net中,我正在编写一个需要读取大型txt文件(如10 mb)的应用程序。我的问题是使用StreamReader读取文件并执行一些字符串操作,然后将结果添加到列表框中 如果我使用线程或后台工作程序,处理会变得非常慢。我还尝试使用字符串生成器,但结果相同 有什么解决方案吗?您可以使用ReadAllLines快速读取10 mb的文本文件: Dim ss() As String ss = System.IO.File.ReadAllLines(filename) 然后您可以操作数组中的字符串,在

在.net中,我正在编写一个需要读取大型txt文件(如10 mb)的应用程序。我的问题是使用StreamReader读取文件并执行一些字符串操作,然后将结果添加到列表框中

如果我使用线程或后台工作程序,处理会变得非常慢。我还尝试使用字符串生成器,但结果相同


有什么解决方案吗?

您可以使用ReadAllLines快速读取10 mb的文本文件:

Dim ss() As String
ss = System.IO.File.ReadAllLines(filename)
然后您可以操作数组中的字符串,在本例中为
ss

更新列表框时,应使用.BeginUpdate和.EndUpdate加快该部分的速度


您可以将Application.DoEvents放入循环中,以允许处理Windows消息。这可能会使它看起来不像系统被锁定。

使用
BackgroundWorker
防止应用程序卡住。使用好的代码来避免后台进程太慢。在获得任何更具体的帮助之前,您必须花一些精力描述您想要完成的任务和您尝试过的任务。您可以详细说明您想要如何操作吗?在开始向列表框添加大量项目之前,请调用方法
ListBox1.BeginUpdate()
。完成后,调用
ListBox1.EndUpdate()