检查txt文件中的数字的最快方法

时间:2013-01-08 21:50:09

标签: c#

H iguys。我有一个解析用户id的循环,并将tham添加到txt文件。 最好的方法是检查这个txt是否有这个id跳过它(下次解析时)。 txt的大小从5 -... mb上升

我尝试将ID添加到List,但当文件大小超过5mb时,应用程序开始挂起

4 个答案:

答案 0 :(得分:3)

使用HashSet<int>HashSet<string>,收集其中的ID,然后在结尾处将结果写入文本文件。

PS:注意HashSet是O(1)而List是O(n)

答案 1 :(得分:0)

您应该将文本文件中的所有ID加载到某个集合中,并检查该集合是否包含ID。

老实说,我认为没有比这更有效的方法。

答案 2 :(得分:0)

我相信经验法则是用空间交换时间。如果你想更快地复制并避免一次又一次地查看文件,那么你可以维护一个数组或链表或哈希表,其中也存储了id

答案 3 :(得分:0)

var userIsAlreadyThere = File.ReadLines(path).Contains(userid);