gpt4 book ai didi

c# - 展平一个列表,其中一个属性是另一个对象列表

转载 作者:行者123 更新时间:2023-11-30 19:54:00 25 4
gpt4 key购买 nike

我有以下类(class):

public class Owner
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Main
{
public string Id { get; set; }
public string Name { get; set; }
public List<Owner> Owners { get; set; }
}

我要转换List<Main>List<FlatList> FlatList 在哪里

public class FlatList
{
public string Id { get; set; } // Id from Main
public string Name { get; set; } // Name from Main
public string OwnerId { get; set; } // Id from each Owner in a Main's Owner
public string OwnerName { get; set; } // Name from each Owner in a Main's Owner
}

不幸的是,我无法找到执行此操作的 LinQ 查询。

最佳答案

你应该使用 SelectMany展平一系列主要对象:

Projects each element of a sequence to an IEnumerable and flattens the resulting sequences into one sequence.

因此它将每个 Main 对象投影到 FlatList 对象序列中,然后将结果序列展平为一个 FlatList 序列

var flatList = mainList.SelectMany(m => 
m.Owners.Select(o =>
new FlatList {
Id = m.Id,
Name = m.Name,
OwnerId = o.Id,
OwnerName = o.Name
})).ToList()

关于c# - 展平一个列表,其中一个属性是另一个对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44842263/

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