我正在使用类型为int和委托的C#列表,如以下脚本
foreach (binitem in bilist)
{
if (item.bsitem.OType == OType.prm)
{
List<int> appList = item.apl.FindAll(delegate (binitem i)
{
return i.apl.Contains(p.pid);
});
}
}
上面的脚本给我一个异常`不能隐式地将委托转换为谓词
我可以知道错误究竟在哪里吗?
答案 0 :(得分:2)
问题是apl
是List<int>
而您的delegate (binitem)
有binitem
参数。
如果您使用List<int>.FindAll
方法,则委托应该有int
参数。
List<int> appList = item.apl.FindAll(delegate (int i)
{
// logic based on i.
return true;
});