次の要件を実装するには、C# でどのタイプのコレクションが最適だと思いますか?
- Web ファイル (例: class = "webfile") をモデル化する必要があるため、1 つのクラスのみが優先されます
- 親と子の関係のモデル化 - 関連付けに関しては、Web ファイルは複数の子 Web ファイルを持つことができ、子 Web ファイルは複数の親を持つことができます。(複数の画像を含む HTML ページ、または同じ画像を共有する複数の HTML ページを考えてください)
- ファイルは親と子の両方になることができます。つまり、HTML ページは他の HTML ページへのリンクを持つことができます。
- どこにも重複があってはなりません。URI がキーであると想定してください。ある意味では、Web サイトに置かれているファイルをモデル化したいと考えています。画像 XYZ の実際のコピーは 1 つだけですが、複数のページからのリンクがあります。
- 実際の webfile クラス自体は一意の URI をキーにしていますが、lastmodifieddate、size などのクラス内の他の属性を想定しています。
- ああ、データを保存/ロードするために、クラスでも XML シリアライゼーションを使用するつもりでした。これが答えに影響するかどうかわからない
どのコレクションがベストだと思いますか? (実装するコード自体は素晴らしいものですが、基本的な方向性だけで十分です)。リストの使用を開始しましたが、「addChild(parent, child)」などのパブリック メソッドを実装しようとすると、既存の Web ファイル (つまり URI) の存在を確認するコードを記述しなければならないことがわかりました。そのため、おそらくキーの 1 つを使用する私にとって一意性が保証されるのであれば、コレクションクラスがここで最適でしょうか?
これが理にかなっていることを願っています。
Tks