C# 通过附加LINQ参数进行限制
我在MVC应用程序中具有以下功能: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
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的答案更有可读性,当然也更有效。