thực hiện một chút thử nghiệm để tìm hiểu cách hoạt động của mọi thứ. Tôi có mã sau đây ...Biến riêng tư trong các tác vụ .net 4.0
for (int i = 0; i < 20; i++)
{
Task.Factory.StartNew(() => MethodTest(i));
}
Tôi tự hỏi tại sao MethodTest nhận được int 20 hầu như luôn luôn (trừ khi tôi bước qua trình gỡ lỗi).
Rõ ràng có điều gì đó thiếu trong hiểu biết của tôi khi tôi giả định rằng khi 'i' được chuyển, nó sẽ là một phần của bộ nhớ cục bộ của chuỗi được quản lý.
+1 Câu hỏi hay, câu trả lời hay. –
Cảm ơn, thời gian để điền vào một số khoảng trống kiến thức, không có ý tưởng nơi để chỉ đạo Google-Fu của tôi. :) – RekrowYnapmoc
Chỉnh sửa: dưới dạng ghi chú cho người đọc trong tương lai. Điều này sẽ được thay đổi trong C# 5 để đóng trên biến vòng lặp sẽ không yêu cầu bước bổ sung này. – RekrowYnapmoc