0

約 1000 件ほどの顧客レコードをメモリ内に保存して、レコードを年齢順に並べ替えたいと考えています。検索基準として年齢を使用して顧客を検索するか、年齢の昇順ですべての顧客を取得するためにリストをたどる必要がある場合があります。

私が持っている 1 つのアイデアは、サイズ 110 のハッシュ テーブルの配列実装を作成することです (たとえば、以前は 0 から 110 年まで変化する可能性があります)。各ハッシュ テーブル スロットは年齢/年に対応し、別のチェーンを使用して、その年齢のすべての顧客のリンク リストを保持できます。

上記の方法論は私の目的を解決しますが、これが私が必要とすることを行うための最適な方法であるかどうかはわかりません.

関連するテクノロジは、C# および Windows フォームに関連しています。

4

5 に答える 5

0

使用できますhashset。これは C# のコレクションの一種であり、非常に高速です。

于 2013-07-24T12:03:34.453 に答える
0

保存する必要がある値が 2 つしかない場合は Dictionary を使用できます。それ以外の場合は、エンティティを作成してその List を使用できます。

于 2013-07-24T12:11:24.457 に答える
0

Generic List<T>目的で使用することを好みます。そしてLINQ、あなたが望むように操作することができます。

于 2013-07-24T12:04:48.267 に答える
0

first_name や last_name などの必要なプロパティを持つクラスを作成します。次に、ディクショナリのキーが一意であり、ディクショナリの値がそのクラスのインスタンスであるディクショナリを作成します。

 public class User
 {
     public string firstName{get;set;}
     public string lastName{get;set;}
 }

あなたの辞書:

 Dictionary<int, User> UserList = new Dictionary<int, User>();

辞書を使用すると、linq を使用してクエリを取得したり、ID で特定のユーザーを検索したりできます。

于 2013-07-24T12:05:22.317 に答える