【问题标题】:How can I use the LINQ extensions on IList to query the value in nested object?如何使用 IList 上的 LINQ 扩展来查询嵌套对象中的值?
【发布时间】:2012-08-22 00:38:01
【问题描述】:

是的,我在询问之前浏览了提供的链接:-)

我有一个 List,其中 foo 是一个带有嵌套对象 bar 的对象,它有一个名为 Data 的字段。

我无法弄清楚使用 IList LINQ 扩展包含 来查询 foo1.bar.Data 中的值的正确语法。

Intellisense 无济于事,MSDN 无法理解我的要求。

我在这里缺少什么?我希望 Contains 基本上说:“在这个 foo 列表中,告诉我一个或多个 foo 是否包含一个嵌套对象栏,其数据字段中带有字符串“hello”。”

谢谢。

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    你可以使用Any:

    List<Foo> foos = ...
    if (foos.Any(f => f.Bar.data == "hello"))
    {
        ...
    }
    

    【讨论】:

    • 有没有办法使用.Contains来做到这一点?
    • @Joe,不,包含无法处理这种情况
    • 悲伤。我希望利用许多扩展,而不必实际编写查询。虽然上面的示例是具体的,但我希望在很多地方用这些查询扩展替换循环。
    • @Joe,我不明白你的意思......你在说什么扩展? Any 是一种扩展方法。你可以(经常)使用 Linq 扩展方法而不是循环。
    • @Joe,事情是这样的——语法如何工作?您希望使用什么语法?我想你会发现没有实用的方法可以将你想要的东西硬塞进.Contains 隐喻中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多