gpt4 book ai didi

c# - 编写 lambda 表达式以从对象列表中获取属性列表

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

我有以下两个对象:

ProjectPrimitives:
Name
ProjectId
StartDate

ProjectDetails
ProjectPrimitives
Description
Location
// Other details

在我的应用程序中,我有一个 List<ProjectDetails>并想从中解析所有原语以获得 List<ProjectPrimitives>使用 lambda 表达式。实际上,我想替换这个:

var primList = new List<ProjectPrimitives>();
foreach(ProjectDetails pd in myDetailsList)
{
primList.add(pd.primitives);
}

我已经尝试了一些东西,但找不到正确的语法,如果这实际上可以使用 lambda 语句。我试过的一件事是:

var prims = myList.Where(i => i.primitives).ToList();

但是编译器期望 Where() 中有一个 bool 值功能,我不知道还有什么可以放在那里。

最佳答案

如果ProjectDetails.primitives是单ProjectPrimitives , 你需要 Select() ProjectDetails 转换列表至 ProjectPrimitives :

var prims = myList.Select(i => i.primitives).ToList();

如果是集合,比如List<ProjectPrimitives> , 你需要 SelectMany() :

var prims = myList.SelectMany(i => i.primitives).ToList();

关于c# - 编写 lambda 表达式以从对象列表中获取属性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725298/

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