LINQ 的新手,不确定我想做的事情的正确语法。
我有一个“阻止列表”,一个数组或列表(可以是其中之一)我不想放入我正在制作的这个新“ key ”列表中的错误代码
目前...
var keys = (from s in context.Keys
where s.Code != "BadCode1"
where s.Code != "BadCode2"
where s.Code != "BadCode3"
where s.Code != "BadCode4"
where s.Code != "BadCode5"
orderby s.Name
select s).ToList<Keys>();
我如何将其缩减为一行并从“黑名单”中读取? 更像是……
var keys = (from s in context.Keys
where s.Code != ANY OF THE VALUES FROM "BLOCKLIST"
orderby s.Name
select s).ToList<Keys>();
最佳答案
将其添加到数组中,然后使用Contains
:
var badCodes = new[] { "BadCode1", "BadCode2", "BadCode3", "BadCode4", "BadCode5"};
var keys = (from s in context.Keys
where !badCodes.Contains(s.Code)
orderby s.Name
select s).ToList<Keys>();
关于C# LINQ 从值不包含在数组/列表中的位置选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41484293/