Я возможно ошибаюсь, но: 1. Для того, чтобы проитерироваться по коллекции будет использоваться итератор(структура, создаётся в стеке) 2. Если вызвать метод .GetEnumerator у List или массива, то энумератор будет структурой, если у IEnumerable то он будет приведен у IEnumerator и тут он попадет в кучу. Я имел ввиду это, возможно я не прав. На скринах видно тип, енумератора, который будет получаться. https://sharplab.io/#v2:C4LgTgrgdgNAJiA1AHwAICYCMBYAUKgBgAJVMAWAbjz1IGYAeASymAD4iBTKCAWw7ACGAIwA2HIgF4iUDgHciAGUYBnYExasAFAEoquAG4Cwnbn0HAA9salde/YWIB0AcQ7AAoqfuWwOvXiVVdTYiERVgSWk5RXDgrV08Q2NbMwEfQIipMNUXN087cys/IA= Это также упоминалось в статье от PVS-Studio(ближе к концу) https://habr.com/en/company/pvs-studio/blog/562894/
Хм неужели правда, сейчас гляну спасиб
Глянь исходник List
На что конкретно?
Обсуждают сегодня