我正在嘗試從特定目錄搜索許多文本文件,然後使用textchanged事件在所有文件中查找文本,並僅在屏幕上顯示包含該文本的行文本。在文本框中搜索大量文本文件,並將其顯示在文本框中
目前它正在工作,但它太慢了。我發佈了一個搜索文本並在列表框中顯示的函數。什麼可能是使其工作速度不快的最有效的方式。
listBox2.Items.Clear();
ArrayList lines = new ArrayList();
if (txtfile.Count > 0)
{
for (int i = 0; i < txtfile.Count; i++)
{
lines.AddRange((File.ReadAllLines(Path.Combine(path, txtfile[i].ToString()))));
}
for (int i = 0; i < lines.Count; i++)
{
if(lines[i].ToString().IndexOf(txt,StringComparison.InvariantCultureIgnoreCase)>=0)
{
listBox2.Items.Add(lines[i].ToString());
}
}
}
什麼是'txt',什麼是'txtfile'? –
隨着'TextChanged'事件的發生,隨着'Textbox'中文本的每一次變化,搜索都會反思,這會導致性能下降。可能會觸發基於Button_Click的搜索,而不是觸發添加或刪除的每個字符的TextChanged事件。 – jordanhill123
@TimSchmelter txt是要搜索的文本,而txtfile是包含所有要搜索的文件的數組 –