Tôi có câu hỏi về phương pháp IGrouping và Select().Cách nhận các giá trị từ IGrouping
phép nói rằng tôi đã có IEnumerable<IGrouping<int, smth>>
theo cách này:
var groups = list.GroupBy(x => x.ID);
nơi danh sách là một List<smth>
.
Và bây giờ tôi cần phải vượt qua giá trị của mỗi IGrouping
vào danh sách khác một cách nào đó .:
foreach (var v in structure)
{
v.ListOfSmth = groups.Select(...); // <- ???
}
Ai có thể đề nghị làm thế nào để có được giá trị (List<smth>
) từ IGrouping<int, smth>
trong bối cảnh như vậy?
ID thường là một lĩnh vực nhận dạng mà phải là duy nhất, mà sẽ làm cho nhóm bởi nó vô dụng, nếu bạn chỉ cố gắng để loại bỏ dữ liệu trùng lặp thử biệt() để thay thế. nếu nó đã được list.GroupBy (x => x.SubID) sau đó nó sẽ có ý nghĩa để sử dụng nhóm nhưng trong trường hợp đó bạn rất có thể sẽ muốn giữ cho nhóm và foreach (var grp trong nhóm) {grp.ToList() ; } sẽ làm điều đó – MikeT