有没有办法让下面的lambda表达式将方法调用移动ConvertFilterType(filter.FilterTypeId)
到一个变量中,因此不会为每个条件重复调用它?
此if语句确保集合包含所有必需的过滤器.
if (run.Filters.All(
filter => (ConvertFilterType(filter.FilterTypeId) != FilterType.A)
&& (ConvertFilterType(filter.FilterTypeId) != FilterType.B)
&& (ConvertFilterType(filter.FilterTypeId) != FilterType.C)
&& (ConvertFilterType(filter.FilterTypeId) != FilterType.D)
&& (ConvertFilterType(filter.FilterTypeId) != FilterType.E)))
{
throw new ArgumentException();
}
Run Code Online (Sandbox Code Playgroud)