Con*_*per 2 c# linq linq-group
我原本有一本<string, List<ProviderSummary>>叫做的字典rowsDictionary
现在,对于该字典的每个键,我按照以下标准对其值列表进行分组:
Dictionary<string, List<ProviderSummary>> providerGroups = rowsDictionary.ToDictionary(
x => x.Key,
v => v.Value.GroupBy(x => new { x.GroupID, x.GroupFin, x.ZipCode })
.Select(x => x.First())
.ToList());
Run Code Online (Sandbox Code Playgroud)
例如,如果key["1234"]最初在其值列表中有6个项目,那么现在它可能有两个基于该分组的项目.我的问题和困惑是其他价值观会发生什么?(这四个)以及将为这组返回的这两个列表的值是什么?
按工作分组,将您正在分组的任何内容放入与您在group by子句中指定的键匹配的项集合中.
如果您有以下数据:
Member name Group code
Betty 123
Mildred 123
Charli 456
Mattilda 456
Run Code Online (Sandbox Code Playgroud)
以及以下查询
var query = from m in members
group m by m.GroupCode into membersByGroupCode
select membersByGroupCode;
Run Code Online (Sandbox Code Playgroud)
group by将返回以下结果:

您通常不希望直接选择分组.如果我们只想要没有所有其他多余数据的组代码和成员名称怎么办?
我们只需要执行select来获取我们之后的数据:
var query = from m in members
group m by m.GroupCode into membersByGroupCode
let memberNames = from m2 in membersByGroupCode
select m2.Name
select new
{
GroupCode = membersByGroupCode.Key,
MemberNames = memberNames
};
Run Code Online (Sandbox Code Playgroud)
返回以下结果:

| 归档时间: |
|
| 查看次数: |
8529 次 |
| 最近记录: |