Tôi cũng gặp phải nhiều tình huống khi có IEnumerable là không đủ. Tuy nhiên tôi không chắc chắn về hiệu suất của các cuộc gọi phương thức trên.LINQ ToList/ToArray/Hiệu suất ToDictionary
Những gì tôi thực sự muốn hỏi là:
là hiệu suất của ToList/ToArray:
- một O (n) hoạt động mà các bản sao các IEnumerable đến một mảng mới/Danh mục sách?
Nếu tôi gọi phương thức mở rộng LINQ trên danh sách, nó có hiệu suất O (1) nếu tôi gọi ToList nhưng O (n) nếu gọi ToArray (và ngược lại nếu danh sách gốc của tôi là một mảng)?
Một số phép thuật xảy ra và hiệu suất là O (1)?
Có thể là từ điển là O (n), phải không?
Tôi cũng sẽ thêm liên kết đến câu trả lời của bạn: http: //msmvps.com/blogs/jon_skeet/archive/2011/01/01/reimplementing-linq-to-objects-part-20-tolist.aspx – MarcinJuraszek
@JonSkeet: wow, tôi không nhận thấy đó là blog của bạn đăng bài ở đó :) Có thể nói, thực sự tốt đẹp nhất! – MarcinJuraszek
@MarcinJuraszek Vâng, hãy xem toàn bộ [chuỗi Edulinq] (http: // msmvps.com/blogs/jon_skeet/archive/tags/Edulinq/default.aspx) và sách điện tử. Công cụ tuyệt vời và thực sự giúp hiểu LINQ, lặp lại bộ sưu tập và chỉ một số sự thanh lịch của nó nói chung; thực sự mở rộng suy nghĩ của tôi. Phát biểu của ebook, bất kỳ kế hoạch Jon trên lấy một pass thứ hai cập nhật/chỉnh sửa các phiên bản PDF được xuất bản? Tôi hoàn toàn sẽ mua một phiên bản hoàn toàn được đánh bóng và in ấn của nó. :) –