Trong C # / VB.NET / .NET, vòng lặp nào chạy nhanh hơn, forhay foreach?
Kể từ khi tôi đọc rằng một forvòng lặp hoạt động nhanh hơn một foreachvòng lặp cách đây rất lâu, tôi cho rằng nó đúng với tất cả các bộ sưu tập, bộ sưu tập chung, tất cả các mảng, v.v.
Tôi đã lùng sục Google và tìm thấy một vài bài viết, nhưng hầu hết trong số đó là không có kết luận (đọc bình luận về các bài viết) và kết thúc mở.
Điều gì sẽ là lý tưởng là có từng kịch bản được liệt kê và giải pháp tốt nhất cho cùng một.
Ví dụ (chỉ là một ví dụ về cách nó phải như vậy):
- để lặp lại một mảng gồm hơn 1000 chuỗi -
fortốt hơnforeach - để lặp lại
IListcác chuỗi (không chung chung) -foreachtốt hơnfor
Một vài tài liệu tham khảo được tìm thấy trên web cho cùng:
- Bài viết cũ tuyệt vời của Emmanuel Schanzer
- Dự án Code FOREACH Vs. CHO
- Blog - Đến
foreachhay khôngforeach, đó là câu hỏi - Diễn đàn ASP.NET - NET 1.1 C #
forvs.foreach
[Biên tập]
Ngoài khía cạnh dễ đọc của nó, tôi thực sự quan tâm đến sự thật và số liệu. Có những ứng dụng mà dặm tối ưu hóa hiệu năng cuối cùng bị vắt kiệt.
foreachthay vì fortrong C #. Nếu bạn thấy câu trả lời ở đây không có ý nghĩa gì cả, đó là lý do tại sao. Đổ lỗi cho người điều hành, không phải là câu trả lời không hay.





