我有一个包含许多字符串数组的类。我想要一个通用函数,它可以让我获得List<string>
一个给定属性的唯一性。例子:
public class Zoo
{
string Name { get; set;}
string[] Animals { get; set;}
string[] Zookeepers { get; set;}
string[] Vendors { get; set;}
}
我想要一个通用函数,可以让我List<string>
在 List 中获得不同的 Animals?我希望这是通用的,所以我还可以获得一个不同的 Zookeepers 和 Vendors 列表。
我一直在尝试这个,但它没有编译:
public static List<string> GetExtendedList(Func<Zoo, string[]> filter)
{
var Zoos = QueryZoos(HttpContext.Current);
return Zoos.Where(z => z.Type == "Active")
.SelectMany(filter)
.Distinct()
.OrderBy(s => s);
}
注意:这与我之前提出的两个问题有关,但我在合并信息时遇到了麻烦。我之前询问过如何使用 SelectMany (SO 1229897) 进行查询,并分别询问了如何编写一个通用函数,该函数使用 Select 而不是 SelectMany (SO 1278989) 获取列表。