2012-08-28 46 views
9

Làm cách nào để xóa đối tượng trực tiếp khỏi IGrouping IGrouping<DateTime, VMAppointment>?Cách xóa phần tử khỏi IGrouping

Cách duy nhất tôi biết hiện tại là tạo IGroup mới mà không có yếu tố concering, nhưng tôi không thích cách này vì nó gây ra một số rắc rối trong ứng dụng của tôi.

Bất kỳ ý tưởng nào?

+0

"nó gây ra một số rắc rối trong ứng dụng của tôi" là rất mơ hồ. Hãy cụ thể hơn trong các câu hỏi của bạn - xem http://tinyurl.com/so-hints –

Trả lời

8

Không, không có cách nào để biến đổi IGrouping<,>, ít nhất là nói chung - và thậm chí nếu bạn biết loại cụ thể, tôi không tin bất kỳ triển khai nào được hiển thị bởi .NET framework cho phép nhóm bị đột biến.

Có lẽ các nhóm là kết quả của một số truy vấn - vì vậy nếu có thể, thay đổi truy vấn ban đầu để loại trừ các giá trị bạn không quan tâm đến

2

Tôi biết đây là câu hỏi cũ, nhưng hy vọng này sẽ giúp người khác. . Giải pháp cho việc này là đưa nhóm vào danh sách, sau đó sử dụng các giá trị từ danh sách thay vì nhóm.

var groups = someList.GroupBy(x => x...); 

foreach (var group in groups) 
{ 
    var groupList = group.ToList(); 

    ... 

    groupList.Remove(someItem); 

    //Process the other code from groupList. 
} 
Các vấn đề liên quan