【发布时间】:2012-02-10 21:23:37
【问题描述】:
我正在使用这个简单的算法来搜索文档中的一些文本并标记我在哪个页面上找到它
for (int i = 1; i <= a.PageCount; i++)
{
Buf.Append(a.Pages[i].Text);
String contain = Buf.ToString();
if (contain != "")
{
// Inside is dictionary of keys and value contain page where I found it
foreach (KeyValuePair<string, List<string>> pair in inside)
{
if (contain.Contains(pair.Key))
inside[pair.Key].Add((i).ToString());
}
}
Buf.Clear();
}
我没有问题,但是当我在700页的文档中搜索并且我正在寻找超过500个键时,它非常慢,大约需要1-2分钟才能通过,有什么办法可以加快速度吗?我正在使用 C#
谢谢!
【问题讨论】:
-
什么是文件?您可以先确定整个文件中实际包含哪些键,然后逐页搜索这些键吗?
-
它的 pdf 文档,但它与文件格式无关,它的产品目录和一些页面包含产品类型的表格 - 我需要创建所有键的索引 - 它们在哪里 - 在哪些页面上
标签: c# string performance dictionary