2

親/子(ren)の関係を考えると、C#で値のセットをどのように保存するのが最善なのか疑問に思っています。Dictionary、KeyValuePair、List、またはおそらくクラスの定義を検討しました。私はこれを考えすぎているかもしれませんが、より良い方法がないことを確認したいと思います。高速検索を実行できる必要があります。私のデータセットは、最初のアイテムが「親」であり、残りのアイテムが最初のアイテムに関連しているようなものです。そう:

G   H Y
Z   X A J

G は H および Y に関連し、Z は X、A、および J に関連しています。非常に単純です。しかし、これらを C# に保存するにはどうすればよいでしょうか? 0 インデックスが親を表す配列を持つことができます。これをC#で保存するより良い方法はありますか? これは、SQL の 1 対多の関係によく似ています。しかし、コードでこれを達成する必要があります。私の目標は、親に基づいて親戚のリストを簡単に取得できるようにすることです。したがって、G が与えられれば、すぐに H と Y を取得できるはずです。配列、List<> などを使用する必要がありますか?

4

3 に答える 3

1

Dictionary<string, string[]>あなたが話していることには良い選択肢でしょう。

于 2013-02-13T19:14:54.633 に答える
0

お勧めしますLookup<TKey, TValue>( http://msdn.microsoft.com/en-us/library/bb460184.aspx )。

ルックアップはディクショナリに似ています。違いは、ディクショナリはキーを単一の値にマップするのに対し、ルックアップはキーを値のコレクションにマップすることです。

于 2013-02-13T19:15:39.010 に答える
0

私はハッシュテーブルオブジェクトを使用します。キー値は計算されたハッシュであり、値の検索はキーと直接ヒットを計算することによって行われるため、パフォーマンスは非常に優れています。

ハッシュテーブルと辞書を比較するこの他の投稿を確認してください。

ハッシュテーブルとソートされたリストのどちらでアイテムを見つけるのが速いですか?

.NET HashTable Vs Dictionary - Dictionary は同じくらい高速ですか?

ハッシュテーブルより辞書が好まれるのはなぜですか?

于 2013-02-13T19:20:05.567 に答える