C# 使用LINQ拆分集合

C# 使用LINQ拆分集合,c#,linq,C#,Linq,我相信有一个简单的方法可以做到这一点,但我不能想出它 我有一个带有组字符串字段的集合。我想做的是将该集合拆分为(n)个集合,每个组的集合数。我将以类似于以下内容的循环结束: foreach (var group in groups) { foreach (var item in group) { //process item. } } 有什么指导吗???谢谢 编辑例如: 鉴于此: var people = new List(); people.Add(new Pe

我相信有一个简单的方法可以做到这一点,但我不能想出它

我有一个带有组字符串字段的集合。我想做的是将该集合拆分为(n)个集合,每个组的集合数。我将以类似于以下内容的循环结束:

foreach (var group in groups)
{
   foreach (var item in group)
   {
      //process item.
   }
}
有什么指导吗???谢谢

编辑例如:

鉴于此:

var people = new List(); people.Add(new Person { FirstName = "John", LastName = "Doe" }); people.Add(new Person { FirstName = "Jane", LastName = "Doe" }); people.Add(new Person { FirstName = "Bob", LastName = "Barker" }); people.Add(new Person { FirstName = "Billy", LastName = "Barker" }); people.Add(new Person { FirstName = "Billy", LastName = "Bob" }); var people=新列表(); 添加(新人物{FirstName=“John”,LastName=“Doe”}); 添加(新人物{FirstName=“Jane”,LastName=“Doe”}); 添加(新人物{FirstName=“Bob”,LastName=“Barker”}); 添加(新人物{FirstName=“Billy”,LastName=“Barker”}); 添加(新人物{FirstName=“Billy”,LastName=“Bob”}); 我想要一个包含3个元素的集合。元素1将是一群人的集合(the DoE),元素2将是一群人的集合(the Barker),元素3将是与Billy Bob的集合。

也许会有帮助

var grouped = groups.GroupBy(g => g.Group);
也许,会有帮助

var grouped = groups.GroupBy(g => g.Group);

编辑:使其符合示例。我们根据人们的姓氏对他们进行分组,迭代各个组,然后迭代每个组中的每个人

var groupedCollection = from person in people
                        group person by person.LastName; // or use .GroupBy()
foreach (var group in groupedCollection)
{
    var lastName = group.Key;
    foreach (var person in group)
    {
        // do stuff with person
    }
}

阅读更多分组示例

编辑:使其适合示例。我们根据人们的姓氏对他们进行分组,迭代各个组,然后迭代每个组中的每个人

var groupedCollection = from person in people
                        group person by person.LastName; // or use .GroupBy()
foreach (var group in groupedCollection)
{
    var lastName = group.Key;
    foreach (var person in group)
    {
        // do stuff with person
    }
}

阅读更多分组示例

更详细地描述集合元素类型。用一个示例详细说明-示例输入和预期输出。更详细地描述集合元素类型。用一个示例详细说明-示例输入和预期输出。这似乎可以让我得到不同的组名。我想将集合中属于这些组的项目分离出来。请参见我的编辑以获取示例。啊,感谢您的输入。我错误地看到了GroupBy操作的结果。它做了我想让它做的事。林克FTW!这似乎让我得到了不同的组名。我想将集合中属于这些组的项目分离出来。请参见我的编辑以获取示例。啊,感谢您的输入。我错误地看到了GroupBy操作的结果。它做了我想让它做的事。林克FTW!GroupBy是关键。谢谢GroupBy是关键。谢谢