1

.NET の基本的な理解を深めるために 1 つの C# アプリケーションを作成しています。必要なことを行うための最良の方法を知りたいと思っています。私にとっての最善の方法は、コーディングが簡単で、効率的に使用できることです。

私のアプリケーションはオブジェクト (AAA などの同じタイプ) を操作する必要があり、それらのさまざまなコレクションを作成するため、AAA のコレクションのコレクションを作成します。

私の主なニーズは次のとおりです。-このメインコレクションをメモリ内で操作し、ディスク上で永続化(シリアル化)する。- ディスクからメモリに逆シリアル化します。

もう 1 つの必要性は次のとおりです。 - そのデータを「クエリ」する (たとえば、「含まれているオブジェクトがフィールドの指定された値を持つすべてのコレクションを提供してください」)。

ご指摘ありがとうございます。

4

2 に答える 2

1

あなたの場合、アイテムの数が限られているため、それらをすべてメモリに保持できるため、フラットバイナリファイルへのバイナリシリアル化がおそらく良い解決策になるでしょう。System.Runtime.Serialization.Formatters.Binary.BinaryFormatter使用例を確認してください。

メモリ内のアイテムには、通常のリスト、順序付きリスト、またはハッシュセットを使用できます。等価検索を行う場合は、ハッシュセットが適しています。常に同じ一意のフィールドで検索を使用する場合は、順序付きリストまたは代わりに辞書を使用します。

また、極端なパフォーマンス要件がない限り、検索するアイテムの数が少ない場合 (情報によると最大数百)、通常のリストに対する単純な linq クエリで問題なく動作します。

于 2013-08-31T18:15:54.277 に答える