Может ли кто-нибудь сказать мне, когда я должен использовать то же самое.
Например, я думаю, что мне следует использовать IList, когда я хочу получить доступ к .Count коллекции или отдельному элементу, правильно?
Спасибо.
Может ли кто-нибудь сказать мне, когда я должен использовать то же самое.
Например, я думаю, что мне следует использовать IList, когда я хочу получить доступ к .Count коллекции или отдельному элементу, правильно?
Спасибо.
В общем, вы должны попробовать использовать наименее конкретный тип, который подходит для ваших целей. IEnumerable
менее конкретен, чем IList
(IList
реализует IEnumerable
), поэтому, если вы не хотите что-то конкретное от IList
(например, Count
, как вы предлагаете, или, возможно, Add
, Delete
и т. Д.), Я бы использовал IEnumerable
.
Одним из преимуществ использования IEnumerable
является то, что вы можете написать методы итератора для возврата этого типа (ищите "yield return" и методы итератора, если вы не знакомы с ними). Это позволяет вам писать очень эффективные с точки зрения памяти "конвейеры" для ваших циклов.
Вы используете IEnumerable, когда хотите перебирать элементы в коллекции.
IList - это когда вы хотите добавить, удалить и получить доступ к содержимому списка не по порядку.
IList против IEnumerable для коллекций по сущностям
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=722
Вы должны использовать IList, когда вам нужен доступ по индексу к вашей коллекции, добавлению и удалению элементов и т. Д., И IEnumerable, когда вам нужно просто перечислить вашу коллекцию.
Очень простой ответ, я могу его расширить, если вы опишете сценарий.