ลองคอมไพล์โค้ดต่อไปนี้แล้วคุณจะพบว่าคอมไพเลอร์ใช้ RAM มากกว่า 3 GB (หน่วยความจำว่างทั้งหมดในเครื่องของฉัน) และคอมไพล์นานมาก (อันที่จริงฉันได้รับข้อยกเว้น 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: Microsoft (R) Visual C # Compiler เวอร์ชัน 4.0.30319.17929 ชื่อระบบปฏิบัติการ: Microsoft Windows 7 Ultimate เวอร์ชันระบบปฏิบัติการ: 6.1.7601 Service Pack 1 Build 7601
