我想知道如何对避免匿名类型的数据进行分组,因为键可能是一、二……根据客户的选择。
例子:
我们有一堂课
public class Customer
{
public string Name { get; set; }
public int Age { get; set; }
public string Location { get; set; }
public char Genre { get; set; }
}
通过选中的列表框,您可以选择参数来分组数据,其中选项为:
- 姓名
- 年龄
- 地点
- 类型
所以我们可能有 1 到 4 个键来对数据进行分组。
我想避免使用 switch case 或多个 if 语句来获取正确的 IGrouping 数据。
我想避免:
public IGrouping<object,Customer> GetGroups(IEnumerable<Customer> data)
{
if("Name is selected")
{
return data.GroupBy(e => e.Name);
}
if("Name and Age are selected")
{
return data.GroupBy(e => new { e.Name, e.Age });
}
}