Я немного смущен, что означает нижеприведенные утверждения.Linq Func аргумент
List<Func<GroupInfoInfo, bool>>()
Groups.Instance.GetGroup(2, grp => TestPredicateGroup(whereCls, grp));
private static bool TestPredicateGroup(List<Func<GroupInfoInfo, bool>> predicates, GroupInfoInfo ri)
{
foreach (var p in predicates)
{
if (!p(ri))
{
return false;
}
}
return true;
}
Я хочу знать, что есть смысл List<Func<GroupInfoInfo, bool>>()
и утверждение if (!p(ri))
в функции?
Некоторые путаницы в GetGroup()
лямбда выражения также.
[Список] (https://msdn.microsoft.com/en-us/library/6sh2ey19 (v = vs.110) .aspx) - это тип «Generic Collection» в 'C#'. –
'предикаты' - это список функций, которые возвращают логическое значение. Поэтому правильно называть их в 'foreach' следующим образом:'! P (ri) ' –