Рассмотрим следующий код С#:
IEnumerable numbers = Enumerable.Range(0, 10);
var evens = from num in numbers where num % 2 == 0 select num;
Является ли этот чистый синтаксический сахар, чтобы я мог писать цикл for
или foreach
как однострочный? Существуют ли какие-либо оптимизаторы компилятора под обложками, которые делают понимание списков более эффективным, чем конструкция цикла? Как это работает под капотом?