-4

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

我尝试将 ID 添加到列表中,但是当文件大小大于 5mb 时,应用程序开始挂起

4

4 回答 4

3

使用HashSet<int>or HashSet<string>,收集其中的 id,然后最后将结果写入文本文件。

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

于 2013-01-08T21:52:47.570 回答
0

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

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

于 2013-01-08T21:52:33.327 回答
0

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

于 2013-01-08T21:54:27.133 回答
0
var userIsAlreadyThere = File.ReadLines(path).Contains(userid);
于 2013-01-08T21:54:39.353 回答