1

次の要件を実装するには、C# でどのタイプのコレクションが最適だと思いますか?

  1. Web ファイル (例: class = "webfile") をモデル化する必要があるため、1 つのクラスのみが優先されます
  2. 親と子の関係のモデル化 - 関連付けに関しては、Web ファイルは複数の子 Web ファイルを持つことができ、子 Web ファイルは複数の親を持つことができます。(複数の画像を含む HTML ページ、または同じ画像を共有する複数の HTML ページを考えてください)
  3. ファイルは親と子の両方になることができます。つまり、HTML ページは他の HTML ページへのリンクを持つことができます。
  4. どこにも重複があってはなりません。URI がキーであると想定してください。ある意味では、Web サイトに置かれているファイルをモデル化したいと考えています。画像 XYZ の実際のコピーは 1 つだけですが、複数のページからのリンクがあります。
  5. 実際の webfile クラス自体は一意の URI をキーにしていますが、lastmodifieddate、size などのクラス内の他の属性を想定しています。
  6. ああ、データを保存/ロードするために、クラスでも XML シリアライゼーションを使用するつもりでした。これが答えに影響するかどうかわからない

どのコレクションがベストだと思いますか? (実装するコード自体は素晴らしいものですが、基本的な方向性だけで十分です)。リストの使用を開始しましたが、「addChild(parent, child)」などのパブリック メソッドを実装しようとすると、既存の Web ファイル (つまり URI) の存在を確認するコードを記述しなければならないことがわかりました。そのため、おそらくキーの 1 つを使用する私にとって一意性が保証されるのであれば、コレクションクラスがここで最適でしょうか?

これが理にかなっていることを願っています。

Tks

4

1 に答える 1

1

Generic Dictionary の 1 つ、または基本的な Hashtable が目的に役立ちます。

于 2009-10-07T07:41:27.377 に答える