Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 林克集团;如何使其具有灵活性_C#_Linq_Linq Group - Fatal编程技术网

C# 林克集团;如何使其具有灵活性

C# 林克集团;如何使其具有灵活性,c#,linq,linq-group,C#,Linq,Linq Group,考虑到底部的代码位,这是我的问题: 我希望能够根据输入对收入进行分组,例如: -年 -月 -周 -单位 等等 我是否需要为每个组合创建一个var(并相应地更改Group by),或者我是否可以创建一个Group by变量灵活的组合。这意味着我可以在输入级别上获取位置收入,例如:周、月或年;或年+月、周+月或任何其他组合 var locationRevenues = revenues .GroupBy(g => new { Location = g.Location, Month = Dat

考虑到底部的代码位,这是我的问题:

我希望能够根据输入对收入进行分组,例如: -年 -月 -周 -单位 等等

我是否需要为每个组合创建一个var(并相应地更改Group by),或者我是否可以创建一个Group by变量灵活的组合。这意味着我可以在
输入
级别上获取
位置收入
,例如:周、月或年;或年+月、周+月或任何其他组合

var locationRevenues = revenues
.GroupBy(g => new { Location = g.Location, Month = DateTimeHelper.GetMonth(g.Date)})
.Select(r => new
{
    Location = r.Key,
    RevenueTotal = r.Sum(i => i.RevenueAmount),

})
.ToList();

每次添加新的
groupBy
时,请在
groupBy
子句内选择,然后按
Ctrl+R+M
并生成新方法。您可以将其作为参数传递

Do(Func<TSource, TKey>)

var locationRevenues = revenues
                .GroupBy(Func())
                .Select(r => new
                {
                    Location = r.Key,
                    RevenueTotal = r.Sum(i => i.RevenueAmount),

                })
                .ToList();


private static Func<Revenues, object> Func()
{
    return g => new { Location = g.Location, Month = 9 };
}
Do(Func)
var位置收入=收入
.GroupBy(Func())
.选择(r=>new
{
位置=右键,
收入总额=r.Sum(i=>i.RevenueAmount),
})
.ToList();
私有静态Func Func()
{
返回g=>new{Location=g.Location,Month=9};
}

你想要的是什么?我想是的!似乎比我现在能处理的更高级:(如果链接的问题提供了你搜索的内容,你可以删除你的问题。