我有一个包含Supplier
数据的列表,我希望通过使用SupplierID
(非活动供应商并且只有1个最新结果)来搜索它。Lambda表达式用条件搜索并返回1个最新结果
所以我有:
List<Supplier> filteredList = this.toList();
filteredList.OrderByDescending(m => m.ModifiedDatetime).FirstOrDefault();
filteredList.Where(f => (f.Active == false && f.FieldId == SupplierFieldID))
.ToList<Supplier>();
但我不能做这项工作;请帮忙。
您可以将lambda传递给FirstOrDefault的调用,然后摆脱此处的Where。 'unfilteredData.OrderByDescending(m => m.ModifiedDatetime).FirstOrDefault(f => f.Active == false && f.FieldId == SupplierFieldID);' – 2013-02-26 02:17:03
@PrestonGuillot正确的,除了在这种情况下整个列表需要订购。假设过滤显着减少了条目的数量,出于性能原因可能需要单独的“Where”。 – dasblinkenlight 2013-02-26 02:19:00
我会考虑过早的优化,个人,并希望有一个选择器与过滤条件的可读性,但我的评论是无论如何nit选择。 – 2013-02-26 02:24:12