错误CS1929'int []'不包含'Contains'的定义

时间:2018-07-17 12:53:02

标签: c#

  

错误CS1929'int []'不包含'Contains'的定义,并且   最佳扩展方法重载   'Queryable.Contains(IQueryable,int?)'需要接收者   类型为“ IQueryable”

一旦我尝试运行该代码,此错误就会出现,我不知道如何解决。 这是代码

public void SendModelPallet(string IDs, StorageContext db)
        {
           int[] ids = ViewModelsUtils.processIDs(IDs);
           PalletBoxes = db.ExternStoragePlaces.Where(c => ids.Contains(c.PalletPlaceID)).ToList();
            this.db = db;
        }

预先感谢

2 个答案:

答案 0 :(得分:0)

在这里只是个猜测,但我记得在Linq to SQL查询中的nulll合并遇到问题。我建议您尝试将您的id数组声明为:

int?[] ids = ViewModelsUtils.processIDs(IDs);

(使用int?[]代替int[],以便与您的字段类型匹配)

不确定这一点,首先是因为它似乎与编译错误消息不匹配,其次是因为我暂时没有办法对其进行测试。

答案 1 :(得分:0)

在使用Delegates []并用于获取CS1929: 'Delegate?[]' does not contain a definition for 'Contains'

时遇到了相同的问题

只需包含System.Linq命名空间,即可正常运行。