c # - какой тип коллекции рекомендуется для самореферентной модели «многие ко многим»? - PullRequest
1 голос
/ 07 октября 2009

Какой тип коллекции лучше всего подходит в C # для реализации следующих требований, как вы думаете?

  1. Необходимо смоделировать веб-файл (например, class = "webfile"), поэтому предпочтителен только один класс
  2. Модель родительских и дочерних отношений. С точки зрения ассоциаций у веб-файла может быть несколько дочерних веб-файлов, а у дочерних веб-файлов может быть несколько родителей. (представьте себе HTML-страницу с несколькими изображениями или несколько HTML-страниц с одним и тем же изображением)
  3. Файл может быть как родительским, так и дочерним, или, другими словами, HTML-страница может иметь ссылку на другие HTML-страницы.
  4. Не должно быть нигде дубликатов, предположим, что URI является ключом. В некотором смысле я хочу смоделировать файлы, сидящие на веб-сайте. Существует только одна действительная копия изображения XYZ, однако на нее будут ссылки с нескольких страниц.
  5. Фактический класс веб-файла сам по себе будет иметь ключ уникального URI, однако я предполагаю другие атрибуты в классе, такие как lastmodifieddate, size и т. Д.
  6. О, и я собирался использовать сериализацию XML для класса, чтобы сохранить / загрузить данные. Не уверен, влияет ли это на ответ

Какую коллекцию вы считаете лучшей? (код, который реализует сам по себе, был бы великолепен, но я буду рад лишь некоторым основным направлениям) Однако я начал использовать List, когда приступил к реализации открытых методов, таких как «addChild (parent, child)», и обнаружил, что мне нужно написать код для проверки существования существующих веб-файлов (т. Е. URI), поэтому, возможно, используя один из «Лучше ли здесь собирать классы, если это обеспечит мне уникальность?»

Надеюсь, это имеет смысл.

Tks

1 Ответ

1 голос
/ 07 октября 2009

Один из универсальных словарей может послужить вашей цели или базовый хэш-таблица.

...