Требуется ли IEnumerable для использования цикла foreach? [duplicate]

16
задан Jon B 27 August 2010 в 13:19
поделиться

3 ответа

Вы можете foreach через любой объект, который реализует IEnumerable или IEnumberable

2
ответ дан 30 November 2019 в 16:00
поделиться

Нет необходимости реализовывать интерфейс IEnumerable для использования оператора foreach. Вот цитата из MSDN (http://msdn.microsoft.com/en-us/library/9yb8xew9.aspx):

В C# это не обязательно для класса коллекции, чтобы наследовать от IEnumerable и IEnumerator по порядку быть совместимым с foreach. Пока так как в классе есть необходимые GetEnumerator, MoveNext, Reset и Текущие участники, он будет работать с для каждого. Исключение интерфейсов преимущество в том, что вы можете определить тип возвращаемого значения Current для быть более конкретным, чем Object, который обеспечивает безопасность типов.

39
ответ дан 30 November 2019 в 16:00
поделиться
2
ответ дан 30 November 2019 в 16:00
поделиться
Другие вопросы по тегам:

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