Какой тип коллекции лучше всего подходит в C # для реализации следующих требований, как вы думаете?
- Необходимо смоделировать веб-файл (например, class = "webfile"), поэтому предпочтителен только один класс
- Модель родительских и дочерних отношений. С точки зрения ассоциаций у веб-файла может быть несколько дочерних веб-файлов, а у дочерних веб-файлов может быть несколько родителей. (представьте себе HTML-страницу с несколькими изображениями или несколько HTML-страниц с одним и тем же изображением)
- Файл может быть как родительским, так и дочерним, или, другими словами, HTML-страница может иметь ссылку на другие HTML-страницы.
- Не должно быть нигде дубликатов, предположим, что URI является ключом. В некотором смысле я хочу смоделировать файлы, сидящие на веб-сайте. Существует только одна действительная копия изображения XYZ, однако на нее будут ссылки с нескольких страниц.
- Фактический класс веб-файла сам по себе будет иметь ключ уникального URI, однако я предполагаю другие атрибуты в классе, такие как lastmodifieddate, size и т. Д.
- О, и я собирался использовать сериализацию XML для класса, чтобы сохранить / загрузить данные. Не уверен, влияет ли это на ответ
Какую коллекцию вы считаете лучшей? (код, который реализует сам по себе, был бы великолепен, но я буду рад лишь некоторым основным направлениям) Однако я начал использовать List, когда приступил к реализации открытых методов, таких как «addChild (parent, child)», и обнаружил, что мне нужно написать код для проверки существования существующих веб-файлов (т. Е. URI), поэтому, возможно, используя один из «Лучше ли здесь собирать классы, если это обеспечит мне уникальность?»
Надеюсь, это имеет смысл.
Tks