在C#中尽可能快地搜索100,000个元素的列表

时间:2013-05-24 18:15:58

标签: c# list search in-memory

我很快就需要使用C#寻找具有特定值的元素,尽快反复搜索大约100,000个元素的列表(大约每15秒)。使用Linq搜索List的元素(其中3-4个字段具有特定值)会比使用内存中的SQLite数据库更快吗?有更好的选择吗?

我不介意在每次执行程序时重新创建数据库,因此从CSV文件中读取数据是可以接受的。

数据集将是来自数据流的窗口,随后,列表将逐渐更改,其中一个记录从列表的开头删除,另外一个记录每15秒添加一次。

我有哪些选择?

1 个答案:

答案 0 :(得分:0)

您可以使用名为IndexedList的帮助程序库,您可以从http://indexedlist.codeplex.com/下载它。使用此库,您可以在对象的任何字段上添加索引,然后在列表中执行快速搜索。默认索引实现使用Dictionary来存储索引数据,您也可以更改它。我为自己的项目创建了这个库,然后我将其作为一个新的开源项目发布。我很乐意听到您对该图书馆的反馈意见。

相关问题