【发布时间】:2013-07-31 06:01:38
【问题描述】:
我并不是真正的程序员,正如您将在此处看到的那样,但如果能获得一些帮助以加快这个简单的搜索,我将不胜感激:
我有一些代码从 10 兆字节的文本文件中读取,并将相关文本填充到文本框,以帮助工作人员搜索零件号。它适用于后台工作人员,并且它填充文本框的速度非常慢,我想知道如何加快速度?可能是 String.Join 之类的东西?
using (System.IO.StreamReader file = new System.IO.StreamReader(@"T:\\PARTS\\DATABASE\\PARTS.txt"))
{
while ((line = file.ReadLine()) != null)
{
if ((backgroundWorker1.CancellationPending == true))
{
e.Cancel = true;
}
else if (line.Contains(partNumbersText.Text))
{
Action action = () => matchesText.Text += (line + Environment.NewLine).ToString();
matchesText.Invoke(action); // Or use BeginInvoke
}
}
}
感谢您的阅读
【问题讨论】:
-
文件有多大,有多少内容要添加到文本框中?
-
我很抱歉,我现在意识到这一点很重要:10megs 所以它可以很容易地被读取到内存中。该文件永远不会比这大得多。
-
10MB 是 很多 个部件号。
-
非常慢是否有一些时间单位的值?
-
@JoeEnos 我不认为这是包含,而是连接。运行一个 c# 程序,将 10MB 的文本天真地连接成一个字符串,然后看着它突然停止。
标签: c#