我有一个包含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/

10-12 15:54