2014-02-28 40 views
3

我定義了一個List這樣的:的列表<T>。新增(T)的最佳重載的方法匹配具有一些無效參數

List<Agahii.Ads> ads = new List<Agahii.Ads>(); 

然後,我想用一個LINQ查詢的結果來填充它:

for (int i = 0; i < adid.Count(); i ++) 
{ 
     var dd = adid[i]; 
     var cc = (from a in context.Ads where a.AdID == dd select a).ToList(); 

     ads.Add(cc);  // error appears here 
}; 

錯誤出現在ads.Add(cc);行。

error: the best overloaded method match for System.Collections.Generic.List.Add(Agahii.Ads) has some Invalid arguments

回答

6

Add方法用於添加單個對象。

嘗試AddRange相反,它允許您添加列表:

ads.AddRange(cc); 

可以縮短一些LINQ整個方法。像這樣的東西應該工作:

var ads = context.Ads.Select(a => adid.Contains(a.AdID)).ToList() 
2

使用

ads.AddRange(cc); 

因爲cc是一個列表,而不是元素。

相關問題