Hãy thử biên dịch mã sau và bạn sẽ thấy rằng trình biên dịch chiếm> 3 GB RAM (tất cả bộ nhớ trống trên máy của tôi) và thời gian biên dịch rất lâu (thực sự tôi nhận được ngoại lệ IO sau 10 phút).
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)))))));
}
}
Ai có thể giải thích hành vi tò mò này?
Phiên bản CS: Microsoft (R) Visual C # Compiler phiên bản 4.0.30319.17929 Tên hệ điều hành: Microsoft Windows 7 Ultimate Phiên bản hệ điều hành: 6.1.7601 Gói dịch vụ 1 Bản dựng 7601