2016-03-14 92 views
0

我有一個int類型的C#列表,並代表如下面的腳本工作列表無法隱式轉換委託的INT

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

使用拉姆達:''的FindAll(I => {返回i.apl.Contains(p.pid);})'' –

+0

你可以使用LINQ代替List.FindAll? –

+0

'apl'是一個列表,不是嗎? – Valentin

回答

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; 
}); 
相關問題