我有以下课程:
public class GetAdditionalProductCatalogResponse
{
public List<AdditionalProductDetail> AdditionalProductDetail { get; set; }
}
public class AdditionalProductDetail
{
public string Type { get; set; }
public string ServiceType { get; set; }
public List<AdditionalProduct> AdditionalProduct { get; set; }
}
我有一个想要GetAdditionalProductCatalogResponse
的对象,我想检查if条件是否存在AdditionalProductDetail
ServiceType = "Phone"
。有可能吗?
//if(getAdditionalProductCatalogResponse.AdditionalProductDetail.Where)
有可能吗?
答案 0 :(得分:3)
Where
上的IEnumerable
子句返回过滤的IEnumerable
,它不是布尔表达式 - 不能在if
语句中使用。所以你需要做的是检查该集合中是否有any
个项目 - 使用Any
方法:
if (products.AdditionalProductDetail.Where(...).Any())
返回true / false。
语法较短,使用Any()
重载来获取谓词并执行Where本身:
if (products.AdditionalProductDetail.Any(...))