gpt4 book ai didi

c# - 使用 LINQ 从具有 n 个元素的属性填充集合

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:42 25 4
gpt4 key购买 nike

我有以下类(class):

public class A
{
public List<object> MyItems { get; set; }
public Color Color { get; set; }
public object MyItem { get set; }
}

A 的每个实例都可以有 n 个 MyItems。

给定一个 A 列表,我需要按颜色过滤它们,并创建一个新列表,其中为 MyItems 集合的每个元素创建一个新的 A 实例。

List<A> Aitems = originalItems.Where(b => b.color == color)
.Select(b=>
{
A aItem = b;
// Problem below. Is there a way to create more
// aItems for every object in MyItems collection?
b.MyItem = b.MyItems[0];
return aItem;
}).ToList();

有没有办法使用 LINQ 为 MyItems 集合中的每个对象创建更多的 aItems,还是我应该使用标准的 foreach?

最佳答案

你在找这样的东西吗?

var query = from b in originalItems
where b.Color == color
from item in b.MyItems
select new A
{
MyItems = b.MyItems,
Color = b.Color,
MyItem = item,
};

var result = query.ToList();

关于c# - 使用 LINQ 从具有 n 个元素的属性填充集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232319/

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