Directory.EnumerateFiles
メソッドのデフォルトの読み取り順序は何ですか?一貫性がありますか?
これまでの私の経験では、ファイルが作成された日付までのようですが、これの確認を見つけることができませんでした。
私が尋ねる理由は、私が取り組んでいるプログラムの一部が、バイナリファイルをディレクトリからオブジェクトにロードし、オブジェクトが配列にロードされるためです。これらのオブジェクトは、インデックスの配列によって相互に参照します。つまり、配列にロードされる順序は一貫している必要があります(インデックスのシフトを回避するため)。
私がここにいる間、私は別の小さな質問があります。ファイルが削除されると、私が何をしても、配列にロードされたファイルのインデックスが明らかに変更されます。この問題を回避するための提案はありますか?これまで、ストレージに関する懸念から辞書の使用を避けてきました(回避できる場合は、テキストキーの配列を格納したくない)が、それが唯一の実行可能なアプローチである場合は、とにかく実装する必要があります。
編集:あなたの答えからの優れたヒントの後、私はファイルの名前を使用して辞書アプローチにリファクタリングしました。パフォーマンスへの影響はごくわずかであり、読みやすさと保守性の両方が大幅に改善されているため、非常にうまく機能しています。