Linq从列表中获取特定项目

狐狸112358

假设我有这样的对象

public class Example
{
   public List<Children> Children {get; set;}
}

public class Children
{
   public string Id {get; set;}
   public List<Element> {get; set;}
}

public class Element
{
  public string Id {get; set;}
}

所以我基本上是在做

var result1 = example.Children.where(x => x.Children.Any(y => y.Elements.Where(z => z.Id == MyId)));
var actualRes = result1.Elements.Where(x => x.Id = MyId).FirstOrDefault();

但这似乎效率很低。任何想法如何正确地做到这一点?

谢谢!

磁控管

您的代码无法编译,并且有一些错误。您可以使用SelectMany

var actualRes = example.Children
    .SelectMany(x => x.Elements)
    .FirstOrDefault(x => x.Id == MyId);

带有预填充示例的代码:

Example example = new(){
    Children = new()
};
for(int i=0; i < 10; i++){
    Children c = new(){
        Id = i.ToString(),
        Elements = new()
    };
    example.Children.Add(c);
    for(int j=0; j < 10; j++){
        Element e = new(){
            Id=(10*i+j).ToString()
        };
        c.Elements.Add(e);
    }
}
string MyId="23";
var result1 = example.Children
    .SelectMany(x => x.Elements)
    .FirstOrDefault(x => x.Id == MyId);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用LINQ从列表中删除特定项目

来自分类Dev

通过 LINQ 获取特定项目

来自分类Dev

从列表中选择不包含linq中的特定项目

来自分类Dev

Linq-从列表中获取x数量的不同项目

来自分类Dev

Linq-根据“重量”和“顺序”从列表中获取项目

来自分类Dev

Linq 从列表中获取项目的最大版本

来自分类Dev

从列表中的所有项目中获取特定属性

来自分类Dev

按特定值从通用列表中获取所有项目

来自分类Dev

使用 linq 获取通用列表中的特定属性

来自分类Dev

Linq查询以检查并从字典项目列表中获取字典项目

来自分类Dev

是否可以使用Linq获取列表列表中的项目总数?

来自分类Dev

使用Linq使用第二个列表获取列表中的项目

来自分类Dev

反向项目获取器(项目确定器?):将项目列表插入较大列表中的特定位置

来自分类Dev

列举列表中的特定项目

来自分类Dev

显示列表中的特定项目

来自分类Dev

在 Linq 中获取常用列表

来自分类Dev

使用linq从基类列表中获取相同类型的继承类项目

来自分类Dev

从Linq中的列表获取子列表

来自分类Dev

Linq从嵌套列表中获取不同的列表

来自分类Dev

(C# Linq) 当您的 ID 在另一个列表中时从列表中获取项目

来自分类Dev

从对象子列表(LINQ)中删除项目

来自分类Dev

使用LINQ移除列表中的项目

来自分类Dev

按数组中的项目筛选列表(LINQ)

来自分类Dev

SQL Linq与包含列表中的项目

来自分类Dev

从列表中获取特定号码

来自分类Dev

使用LINQ从IEnumerable中删除与列表中的项目匹配的项目

来自分类Dev

如何在Android中获取列表视图的特定项目的ID?

来自分类Dev

Python中的递归函数:获取特定嵌套项目列表的最佳方法

来自分类Dev

有没有办法从列表中获取具有特定属性的所有项目

Related 相关文章

  1. 1

    使用LINQ从列表中删除特定项目

  2. 2

    通过 LINQ 获取特定项目

  3. 3

    从列表中选择不包含linq中的特定项目

  4. 4

    Linq-从列表中获取x数量的不同项目

  5. 5

    Linq-根据“重量”和“顺序”从列表中获取项目

  6. 6

    Linq 从列表中获取项目的最大版本

  7. 7

    从列表中的所有项目中获取特定属性

  8. 8

    按特定值从通用列表中获取所有项目

  9. 9

    使用 linq 获取通用列表中的特定属性

  10. 10

    Linq查询以检查并从字典项目列表中获取字典项目

  11. 11

    是否可以使用Linq获取列表列表中的项目总数?

  12. 12

    使用Linq使用第二个列表获取列表中的项目

  13. 13

    反向项目获取器(项目确定器?):将项目列表插入较大列表中的特定位置

  14. 14

    列举列表中的特定项目

  15. 15

    显示列表中的特定项目

  16. 16

    在 Linq 中获取常用列表

  17. 17

    使用linq从基类列表中获取相同类型的继承类项目

  18. 18

    从Linq中的列表获取子列表

  19. 19

    Linq从嵌套列表中获取不同的列表

  20. 20

    (C# Linq) 当您的 ID 在另一个列表中时从列表中获取项目

  21. 21

    从对象子列表(LINQ)中删除项目

  22. 22

    使用LINQ移除列表中的项目

  23. 23

    按数组中的项目筛选列表(LINQ)

  24. 24

    SQL Linq与包含列表中的项目

  25. 25

    从列表中获取特定号码

  26. 26

    使用LINQ从IEnumerable中删除与列表中的项目匹配的项目

  27. 27

    如何在Android中获取列表视图的特定项目的ID?

  28. 28

    Python中的递归函数:获取特定嵌套项目列表的最佳方法

  29. 29

    有没有办法从列表中获取具有特定属性的所有项目

热门标签

归档