gpt4 book ai didi

c# - Linq Lambda Where 子句在 where 子句中

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

我正在尝试构建一个带有 serval where 子句的 lambda 表达式。

Items、webProperties 和 profiles 都是列表。我正在尝试找到包含向下 3 级列表的配置文件的配置文件。实际上,我真正想做的就是验证它确实存在。

 var x = AccountSummeriesResponse.items.Where(wp => wp.webProperties.Where(p => p.profiles.Where(a => a.id == profile ))).FirstOrDefault();

我收到以下错误。

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'bool'

最佳答案

问题是Enumerable.Where返回 IEnumarable<T>但是 Where 的谓词期望一个 bool 值。您可以使用 Any相反:-

var x = AccountSummeriesResponse.items
.Where(wp => wp.webProperties.Any(p => p.profiles.Any(a => a.id == profile )))
.FirstOrDefault();

此外,您可以像这样用 FirstOrDefault 替换 Where:-

 var x = AccountSummeriesResponse.items
.FirstOrDefault(wp => wp.webProperties.Any(p => p.profiles
.Any(a => a.id == profile )));

关于c# - Linq Lambda Where 子句在 where 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34132009/

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