【问题标题】:the best overloaded method match for List<T>.Add(T) has some Invalid argumentsList<T>.Add(T) 的最佳重载方法匹配有一些无效参数
【发布时间】:2019-04-11 19:14:47
【问题描述】:

我这样定义了一个List

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); 行中出现错误。

错误:System.Collections.Generic.List.Add(Agahii.Ads) 的最佳重载方法匹配有一些无效参数

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    Add 方法用于添加单个对象。

    改用AddRange,它允许您添加一个列表:

    ads.AddRange(cc);
    

    您可以使用一些 LINQ 来缩短整个方法。像这样的东西应该可以工作:

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

    【讨论】:

      【解决方案2】:

      使用

      ads.AddRange(cc);
      

      因为cc 是一个列表,而不是一个元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-14
        • 2018-07-14
        • 2013-01-07
        • 2014-05-17
        • 1970-01-01
        • 2014-04-14
        • 2012-12-10
        相关资源
        最近更新 更多