こんにちは、みんな。ユーザーIDを解析し、txtファイルにthamを追加するループがあります。このtxtにこのIDが含まれているかどうかを確認するよりも、スキップするのが最善の方法です(次の解析中に)。txtのサイズが5から増加します.....mb
リストにIDを追加しようとしましたが、ファイルのサイズが5 MBを超えると、アプリがハングし始めます
こんにちは、みんな。ユーザーIDを解析し、txtファイルにthamを追加するループがあります。このtxtにこのIDが含まれているかどうかを確認するよりも、スキップするのが最善の方法です(次の解析中に)。txtのサイズが5から増加します.....mb
リストにIDを追加しようとしましたが、ファイルのサイズが5 MBを超えると、アプリがハングし始めます
HashSet<int>
またはを使用しHashSet<string>
て ID を収集し、最後に結果をテキスト ファイルに書き込みます。
PS:リストが O(n) であるのに対し、HashSet は O(1) であることに注意してください。
おそらく、テキスト ファイル内のすべての ID を何らかのコレクションにロードし、そのコレクションに ID が含まれているかどうかを確認する必要があります。
正直なところ、それよりもはるかに効率的な方法はないと思います。
私が信じている経験則は、時間を空間と交換することです。コピーを高速化し、何度も何度もファイルを調べるのを避けたい場合は、ID も格納されている配列、リンク リスト、またはハッシュ テーブルを維持することができます。
var userIsAlreadyThere = File.ReadLines(path).Contains(userid);