繁体   English   中英

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

[英]Error CS1929 'int[]' does not contain a definition for 'Contains'

错误 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;
        }

提前致谢

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

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

(使用int?[]而不是int[]这样这将匹配您的字段类型)

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

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

刚刚包含System.Linq命名空间,现在工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM