我有以下两个对象:
ProjectPrimitives:
Name
ProjectId
StartDate
ProjectDetails
ProjectPrimitives
Description
Location
// Other details
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我有一个List<ProjectDetails>并且想要解析它们中的所有原语以获得List<ProjectPrimitives>使用lambda表达式.实际上,我想取代这个:
var primList = new List<ProjectPrimitives>();
foreach(ProjectDetails pd in myDetailsList)
{
primList.add(pd.primitives);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过一些东西但是找不到正确的语法,如果这实际上可以使用lambda语句.我尝试过的一件事是:
var prims = myList.Where(i => i.primitives).ToList();
Run Code Online (Sandbox Code Playgroud)
但编译器期望Where()函数内部有一个布尔值,我不知道还有什么可以放在那里.
如果ProjectDetails.primitives是单个ProjectPrimitives,则需要Select()将列表转换ProjectDetails为ProjectPrimitives:
var prims = myList.Select(i => i.primitives).ToList();
Run Code Online (Sandbox Code Playgroud)
如果它是一个集合,例如List<ProjectPrimitives>,你需要SelectMany():
var prims = myList.SelectMany(i => i.primitives).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3383 次 |
| 最近记录: |