IEnumerable контракт, я должен проверить для GetEnumerator, возвращающего нуль? - PullRequest
0 голосов
/ 28 июня 2018

Можно ли предположить, что GetEnumerator() всегда возвращает не ноль?

1 Ответ

0 голосов
/ 28 июня 2018

Да, обычно можно предположить, что. Если GetEnumerator возвращает null, это можно считать ошибкой в ​​реализации. IL, сгенерированный для цикла foreach, также не выполняет проверку. Таким образом, бремя лежит на IEnumerable, а не на его потребителе.

...