我需要检查列表中的元素是否包含值true。我目前收到错误&&不能应用于布尔或服务
此public class CLASS A implements Stuff{
public int Add(int id);
}
public class CLASS B implements Stuff{
public int Add(String name);
}
:
condition & services.FirstOrDefault(p => p.IsPrimaryBusinessLine == true)
服务
var services = serviceRepository
.GetServicesByRequestID(newReqeustViewModel.RequestID);
if (services != null &&
services.Count != 0 &&
services.FirstOrDefault(p => p.IsPrimaryBusinessLine == true))
答案 0 :(得分:2)
FirstOrdefault
返回与条件匹配的第一个项目,我想你想知道是否有这样的服务,因为你在if
中使用它,然后不要使用FirstOrdefault
但是Any
:
if (services != null && services.Any(p => p.IsPrimaryBusinessLine == true))
{
}
答案 1 :(得分:2)
您尝试将其用作bool
:
services.FirstOrDefault(p => p.IsPrimaryBusinessLine == true)
但是这不能解析为bool
,它会解析为Service
的实例。您在尝试检查有关该服务的内容是什么?它存在吗?从你正在做的事情来看,这可能是:
services.FirstOrDefault(p => p.IsPrimaryBusinessLine == true) != null
可以简化为:
services.Any(p => p.IsPrimaryBusinessLine == true)
但你需要检查一下。表达式本身需要解析为bool
。
答案 2 :(得分:1)
您可以使用Linq Any方法。
例如:
services.Any(p => p.IsPrimaryBusinessLine == true)
答案 3 :(得分:0)
适合您情况的最佳方式:
if (services != null && services.Count != 0 && services.Any(p => p.IsPrimaryBusinessLine))
{
}
答案 4 :(得分:0)
试试这个:
if (services != null && services.Any(p => p.IsPrimaryBusinessLine))