选择第一个符合条件的对象或一个内部对象

齐夫·魏斯曼

我有一个包含相同类的内部列表的类,例如:

class Foo 
{
   string SearchId;
   List<Foo> GroupedPackages
}

我想返回适合条件的第一个“ foo”实例,它可以在主实例中,也可以在内部List中。

这是我到目前为止的内容-有点丑陋,但有效:

Package = response.lst.Where(p => p.SearchId == SearchId || 
                                 (p.GroupedPackages != null &&
                                  p.GroupedPackages.Any(m => m.SearchId==SearchId)))
                                                   .FirstOrDefault();
if (Package != null)
{
    if (Package.SearchId != SearchId) 
    {

        Package = Package.GroupedPackages.FirstOrDefault(m => m.SearchId == SearchId);
    }
 }

其中“ response.lst”是foo的列表,而Package是foo。

我想如果可能的话在一行lambda表达式中进行操作

蒂姆·施密特

这会选择在顶层或中的任何实例中Foo指定的第一个SearchIdFooGroupedPackages

Package = response.lst
    .Concat(response.lst
        .Where(x => x.GroupedPackages != null)
        .SelectMany(x => x.GroupedPackages)
    )
    .FirstOrDefault(x => x.SearchId == SearchId); 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:在符合给定条件的第一个对象列表中找到位置

来自分类Dev

获取第一个满足条件的对象

来自分类Dev

第一个Python对象

来自分类常见问题

获取符合条件的第一个元素

来自分类Dev

获取选择器中的第一个和最后一个对象

来自分类Dev

比较对象与扩展第一个对象的另一个对象

来自分类Dev

angularjs:如何选择对象中的第一个对象

来自分类Dev

在清空第一个对象之前从另一个对象分配一个对象的字段

来自分类Dev

选择每组迭代的第一个条件

来自分类Dev

ListView 替换第一个对象而不是添加一个新对象

来自分类Dev

获取第一个对象属性的值

来自分类Dev

在mongoengine中获得第一个对象

来自分类Dev

如何获取SimpleXML对象的第一个元素?

来自分类Dev

SwiftUI组中的第一个对象重叠

来自分类Dev

在JavaScript中从api映射第一个对象

来自分类Dev

NSMutableArray中的第一个对象

来自分类Dev

如何从ObservableCollection获取第一个对象?

来自分类Dev

从sqldatareader对象的第一个中删除“〜/”

来自分类Dev

jQuery第一个对象,其中x = true

来自分类Dev

从结果数组php获取第一个对象

来自分类Dev

Django .filter仅显示第一个对象

来自分类Dev

CSS:定位每个类的第一个对象

来自分类Dev

获取对象的第一个键?

来自分类Dev

访问第一个对象和其中的数组

来自分类Dev

解构以获取对象的第一个属性?

来自分类Dev

推入数组的第一个对象

来自分类Dev

如何删除对象的第一个属性?

来自分类Dev

第一个孩子的选择

来自分类Dev

选择有或没有容器的第一个父对象