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