有没有办法让下面的 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();
}