using System.Collections.Generic;
public int MemberId { get; set; }
public int GroupId { get; set; }
public static void Main()
List<GroupMember> groupMembers = new()
new() { MemberId = 1, GroupId = 1 },
new() { MemberId = 2, GroupId = 2 },
new() { MemberId = 3, GroupId = 3 },
new() { MemberId = 4, GroupId = 2 },
new() { MemberId = 5, GroupId = 3 },
new() { MemberId = 6, GroupId = 1 },
new() { MemberId = 7, GroupId = 3 }
Dictionary<int, IEnumerable<GroupMember>> groupMembersByGroupId = groupMembers
.GroupBy(member => member.GroupId)
.ToDictionary(gr => gr.Key, gr => gr.Select(member => member));
foreach (var groupId in groupMembersByGroupId.Keys)
Console.WriteLine($"Group members in group with GroupId = {groupId}:");
foreach (var groupMember in groupMembersByGroupId[groupId])
Console.WriteLine($"\tMemberId: {groupMember.MemberId}");