Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过附加LINQ参数进行限制_C#_Linq - Fatal编程技术网

C# 通过附加LINQ参数进行限制

C# 通过附加LINQ参数进行限制,c#,linq,C#,Linq,我在MVC应用程序中具有以下功能: var selectedArticles = vm.Articles.Except( vm.Articles.Where(x => x.Quantity == 0)).ToList(); 我需要添加另一个参数。我不想显示选项隐藏的文章!=NULL&&HideUntilDate>todays日期 有什么提示吗?除非不需要 var selectedArticles = vm.Artic

我在MVC应用程序中具有以下功能:

        var selectedArticles =
            vm.Articles.Except(
                vm.Articles.Where(x => x.Quantity == 0)).ToList();
我需要添加另一个参数。我不想显示选项隐藏的文章!=NULL&&HideUntilDate>todays日期

有什么提示吗?

除非不需要

var selectedArticles = vm.Articles
   .Where(a => a.Quantity == 0 && !(a.HideUntilDate != null && a.HideUntilDate.Value > DateTime.Today));

只需将需求逻辑添加到
where
子句的lambda表达式中

 var selectedArticles =
          vm.Articles.Except(
                vm.Articles.Where(
                   x => x.Quantity == 0 || 
                   x.HideUntilDate == null || 
                   x.HideUntilDate < DateTime.Now.Date()
               )
          ).ToList();
var selectedArticles=
vm.Articles.Except(
vm.Articles.Where(
x=>x.数量==0 | |
x、 HideUntilDate==null | |
x、 HideUntilDate
为什么要使用
.Except()
-它可以是
vm.Articles.Where(x=>x.Quantity!=0)
(x=>x.Quantity==0&&x.HideUntilDate!=…。
tbh,Tim Schmelter的答案更有可读性,当然也更有效。