компилятор-сгенерированная реализация IEnumerator
/IEnumerable
для yield
методов и геттеров, кажется, является классом и поэтому распределяется по куче, Однако другие типы .NET, такие как List<T>
, специально возвращают счетчики struct
, чтобы избежать бесполезного распределения памяти. Из краткого обзора сообщения С# In Depth я не вижу причин, почему это не может быть и здесь.
Я что-то пропустил?