Задать вопрос

Как хранить объекты?

Всем привет! Пишу программу на С#. Будет создаваться много объектов моего класса, допустим, My_Class. Вот где мне их потом хранить? Например, в С++ был Vector, в который их можно было запихнуть. А как в шарпе это сделать?
  • Вопрос задан
  • 2293 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@sanchas
Я не знаток C#, но вроде как System.Collection.Generic.ArrayList (аналог std::vector) и System.Collection.Generic.List (аналог std::list)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
effetto
@effetto
.Net разработчик
Вопрос неконкретен. Вам нужно хранить объекты во время выполнения программы или между ее запусками? Как часто будет осуществляться доступ к этим объектам? Чего будет больше: записи или чтения?
Ответ написан
Комментировать
teoadal
@teoadal
.NET + AS3
Если вопрос в хранении по время исполнения программы, так тут List, Dictionary и просто массивы. Queue и Stack тоже есть. Рекомендую использовать обобщенные варианты, т.е. List, Dictionary, т.е. параметризированные типом.

С точки зрения архитектуры - в слой доступа к данным. Создайте декоратор какой-нить, который работает с хранилищем и вперед - все ваши объекты туда. Пусть декоратор реализует какой-нить интерфейс ICollection. Вот и будет вам и Add, и Remove, и Get и GetAll. Можно даже static его сделать - пусть будет доступен откуда угодно.
Ответ написан
Комментировать
haiku
@haiku
"Много"? Субъективный критерий. Сколько конкретно? Сотни/тысячи/десятки тысяч?
В шарпе хватает всякого List, Array, Dictionary, Set, Tuple, LinkedList и т.д. и т.п.
Выбирайте целесообразно поставленной задаче. В кач-ве замены вектору вполне прокатит List.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы