我有一个包含Supplier
数据的列表,我想使用SupplierID
(非活动供应商)和仅1个最新结果来搜索它。
所以我有:
List<Supplier> filteredList = this.toList();
filteredList.OrderByDescending(m => m.ModifiedDatetime).FirstOrDefault();
filteredList.Where(f => (f.Active == false && f.FieldId == SupplierFieldID))
.ToList<Supplier>();
但是我做不到这一点。请帮忙。
最佳答案
您需要链接LINQ表达式,如下所示:
var filteredList = unfilteredData
.Where(f => f.Active == false && f.FieldId == SupplierFieldID)
.OrderByDescending(m => m.ModifiedDatetime)
.FirstOrDefault();
您不需要
ToList()
,因为您只需要一个项目,而不是列表。这就是FirstOrDefault()
的作用。如果需要最后一件商品,则需要按照原始订购条件的相反顺序进行订购。例如,如果您希望输入具有最新修改日期的条目,则需要按降序进行排序(与您一样)。关于c# - 使用条件搜索的Lambda表达式,仅返回1个最新结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15080056/