IList vs IEnumerable для коллекций объектов

Я считаю, что вы просто загружаете DLL, а затем вызываете ее экспортированной функцией DllRegisterServer().

145
задан pondermatic 18 December 2008 в 02:17
поделиться

2 ответа

IEnumerable<T> представляет серию объектов, по которым можно выполнить итерации (использующий foreach, например), тогда как IList<T> набор, к которому можно добавить или удалить из.

Обычно Вы захотите смочь изменить Порядок путем добавления или удаления OrderLines к нему, таким образом, Вы, вероятно, захотите Порядок. Строки, чтобы быть IList<OrderLine>.

Однако существуют некоторые проектные решения платформы, которые необходимо сделать. Например, должно быть возможно добавить тот же экземпляр OrderLine к двум различным заказам?Наверное, нет. Таким образом, учитывая, что Вы захотите смочь проверить, должен ли OrderLine быть добавлен к порядку, можно действительно хотеть появиться, свойство Lines как только IEnumerable<OrderLine>, и обеспечить Добавляет (OrderLine) и Удаляет методы (OrderLine), которые могут обработать ту проверку.

182
ответ дан Bakudan 18 December 2008 в 12:17
поделиться
  • 1
    Добавление этой установки реестра, кажется, устранило проблему. Можно ли объяснить немного о том, что эта установка, или укажите на меня на MSDN? – cfbarbero 2 February 2011 в 08:48

В большинстве случаев я использую IList вместо IEnumerable, потому что IEnumerable не имеет метода Count и вы не можете получить доступ к коллекции через индекс (хотя, если вы используете LINQ, вы можно обойти это с помощью методов расширения).

24
ответ дан 23 November 2019 в 22:55
поделиться
Другие вопросы по тегам:

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