gpt4 book ai didi

c# - 基于内部属性展平集合

转载 作者:太空宇宙 更新时间:2023-11-03 18:21:12 26 4
gpt4 key购买 nike

给定以下类结构:

int Id;
string[] Codes;

以及以下数据:

Foo { Id = 1, Codes = new[] { "01", "02" } }
Foo { Id = 2, Codes = new[] { "02", "03" } }
Foo { Id = 3, Codes = new[] { "04", "05" } }

我想以以下结构结束。

Code = "01", Id = 1
Code = "02", Id = 1
Code = "02", Id = 2
Code = "03", Id = 2
Code = "04", Id = 3
Code = "05", Id = 3

我有以下查询,但它给了我一个集合作为 Id,而不是我所追求的平面结构。

collection.GroupBy(f => f.Codes.SelectMany(c => c), f => f.Id,
(code, id) => new { Code = code, Id = id })
.ToArray()

我错过了什么?

最佳答案

SelectMany可以将每个项目的多个元素作为单个列表返回

items
.SelectMany(foo => foo.Codes.Select(code => new { Id = foo.Id, Code = code }));

关于c# - 基于内部属性展平集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092236/

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