Tôi không hiểu tại sao điều này không thành công.
Tôi cho rằng câu hỏi của bạn là "tại sao điều này không thành công?" (Bạn quên thực sự đặt một câu hỏi trong câu hỏi của bạn.)
Các "Where()" phương pháp rõ ràng là không được trả lại bộ sưu tập gốc
đúng. "Nơi" trả về một số IEnumerable<T>
đại diện cho bộ sưu tập có bộ lọc được đặt trên đầu trang của nó.
vì vậy tôi không liệt kê vòng bộ sưu tập gốc khi tôi cố xóa một thứ gì đó khỏi bộ sưu tập gốc.
Không chính xác. Bạn là liệt kê bộ sưu tập gốc. Bạn đang liệt kê bộ sưu tập gốc với bộ lọc được đặt ở trên cùng của nó.
Khi bạn gọi "Nơi", nó không háo hức đánh giá bộ lọc và tạo bản sao hoàn toàn mới của bộ sưu tập gốc với bộ lọc được áp dụng cho bộ lọc đó. Thay vào đó, nó cung cấp cho bạn một đối tượng liệt kê bộ sưu tập gốc, nhưng bỏ qua các mục không khớp với bộ lọc.
Khi bạn đang ở cửa hàng và bạn nói "chỉ cho tôi mọi thứ", anh chàng cho bạn thấy mọi thứ hiển thị cho bạn mọi thứ. Khi bạn nói "bây giờ chỉ cho tôi thấy những quả táo nằm trong khoảng từ $ 1 đến $ 5 một kilôgam", bạn không xây dựng một cửa hàng hoàn toàn mới chỉ có táo trong nó.Bạn đang xem chính xác cùng một bộ sưu tập các nội dung như trước đây, chỉ với một bộ lọc trên đó.
Nguồn
2012-04-16 13:49:45
Có điều gì đó mà tôi không hiểu về điều "Điều" này. Nó chắc chắn không phải là một loại được xây dựng trong điều đó là nó? ai đó khai sáng cho tôi ... – Deb
Xin lỗi nếu câu hỏi khó hiểu. Điều đó có thể là bất kỳ lớp nào và myCollecion là bất kỳ ICollection nào. FWIW Eric đã hoàn toàn hiểu và trả lời câu hỏi ban đầu của tôi vì vậy nó đóng cửa theo như tôi quan tâm. –
Andy