无法隐式将委托转换为int列表

时间:2016-03-14 20:26:37

标签: c# delegates

我正在使用类型为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);
        });                       
    }
}

上面的脚本给我一个异常`不能隐式地将委托转换为谓词

我可以知道错误究竟在哪里吗?

1 个答案:

答案 0 :(得分:2)

问题是aplList<int>而您的delegate (binitem)binitem参数。 如果您使用List<int>.FindAll方法,则委托应该有int参数。

List<int> appList = item.apl.FindAll(delegate (int i)
{ 
   // logic based on i.
   return true; 
});