gpt4 book ai didi

c# - 在 linq 中连接项目

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:45 24 4
gpt4 key购买 nike

我有以下代码:

class Person
{
public String Name { get; set; }
public String LastName { get; set; }
public String City { get; set; }

public Person(String name, String lastName, String city)
{
Name = name;
LastName = lastName;
City = city;
}
}

...

personList.Add(new Person("a", "b", "1"));
personList.Add(new Person("c", "d", "1"));
personList.Add(new Person("e", "f", "2"));
personList.Add(new Person("g", "h", "1"));
personList.Add(new Person("i", "j", "2"));
personList.Add(new Person("k", "l", "1"));
personList.Add(new Person("m", "n", "3"));
personList.Add(new Person("o", "p", "3"));
personList.Add(new Person("q", "r", "4"));
personList.Add(new Person("s", "t", "5"));

然后我想按城市对列表进行分组,然后执行以下操作;

var result = personList.GroupBy(x => x.City);

但现在我想做的是将具有 1 或 3 的项目连接为一个城市(可以动态指定)

例子:

结果的第一项将返回包含城市 1、3 的人员数组

谢谢!

最佳答案

您可以只使用 Where() 过滤器并使用 ToArray() 将每个剩余组投影到数组中:

var result = personList.GroupBy(x => x.City)
.Where ( g => g.Key == someCity || g.Key == anotherCity)
.Select( g => g.ToArray());

关于c# - 在 linq 中连接项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com