Попробуйте скомпилировать следующий код, и вы обнаружите, что компилятор занимает > 3 ГБ ОЗУ (вся свободная память на моей машине) и очень долгое время для компиляции (на самом деле я получаю исключение IO через 10 минут).
using System;
using System.Linq;
public class Test
{
public static void Main()
{
Enumerable.Range(0, 1).Sum(a =>
Enumerable.Range(0, 1).Sum(b =>
Enumerable.Range(0, 1).Sum(c =>
Enumerable.Range(0, 1).Sum(d =>
Enumerable.Range(0, 1).Sum(e =>
Enumerable.Range(0, 1).Sum(f =>
Enumerable.Range(0, 1).Count(g => true)))))));
}
}
Может ли кто-нибудь объяснить это любопытное поведение?
CS Version: Microsoft (R) Visual C# Compiler version 4.0.30319.17929 OS Name: Microsoft Windows 7 Ultimate OS Version: 6.1.7601 Service Pack 1 Build 7601