Cách nào dễ nhất để loại bỏ các mục phù hợp với một số điều kiện từ danh sách và sau đó, lấy các mục đó.LINQ: RemoveAll và xóa các thành phần
tôi có thể nghĩ trong một vài cách khác nhau, tôi không biết đó là tốt nhất:
var subList = list.Where(x => x.Condition);
list.RemoveAll(x => x.Condition);
hoặc
var subList = list.Where(x => x.Condition);
list.RemoveAll(x => subList.Contains(x));
Là bất kỳ của điều này một trong những cách tốt nhất? Nếu có, cái nào? Nếu không, tôi nên làm như thế nào?
Nó thực sự O (n^3), nhưng tôi giả định thiếu materialization chỉ trượt tâm trí của bạn;) – Blindy
Các mục (như tôi đã viết) có bị xóa khỏi danh sách con với lệnh thứ hai không? : O – Diego
Er bạn không bao giờ xóa khỏi 'danh sách con', cũng như bạn không định đọc nếu tôi đọc chính xác. – Blindy