gpt4 book ai didi

c# - 如何使用 linq 将 IEnumerable 转换为 Collection

转载 作者:行者123 更新时间:2023-12-03 18:31:02 26 4
gpt4 key购买 nike

我正在使用 ProductViewModel 中的产品填充部分 View 。当模型回来时,我们有...

var viewModel = _productAgent.GetProductsByCatalog(catalogId);

viewModel 是 ProductViewModel 的集合

我正在使用 linq 将集合的大小限制为前 10 个产品 orderby createDate desc 像这样......
var newList = (from p in viewModel
//from pf in p.DomainObjectFields
select p).Distinct().OrderByDescending(d => d.CreateDate).Take(10);

我尝试加载部分...
return PartialView("_ProductGrid", viewModel);

问题是 newList 是 IEnumerable 它需要是一个集合,我不知道如何转换它,或者我是否采取了正确的方法。

最佳答案

您可以使用扩展方法 .ToList() , .ToArray() , 等等。

var newList = viewModel
.Distinct()
.OrderByDescending(d => d.CreateDate)
.Take(10)
.ToList();

更新

如果要转换 IEnumerable<T>Collection<T>您可以使用类的构造函数的重载 Collection<T>像这样:
Collection<ProductViewModel> newList = new Collection<ProductViewModel>(viewModel
.Distinct()
.OrderByDescending(d => d.CreateDate)
.Take(10)
.ToList());

关于c# - 如何使用 linq 将 IEnumerable 转换为 Collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44595802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com