-4

こんにちは、みんな。ユーザーIDを解析し、txtファイルにthamを追加するループがあります。このtxtにこのIDが含まれているかどうかを確認するよりも、スキップするのが最善の方法です(次の解析中に)。txtのサイズが5から増加します.....mb

リストにIDを追加しようとしましたが、ファイルのサイズが5 MBを超えると、アプリがハングし始めます

4

4 に答える 4

3

HashSet<int>またはを使用しHashSet<string>て ID を収集し、最後に結果をテキスト ファイルに書き込みます。

PS:リストが O(n) であるのに対し、HashSet は O(1) であることに注意してください。

于 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 に答える