在我的应用程序中,我有一个项目列表,我需要按价格排序并为每个项目设置排名/位置索引。我需要存储排名,因为之后价格可能会发生变化。目前我是这样做的:
var sortedlistKFZ = from res in listKFZ orderby res.Price select res;
if (sortedlistKFZ.Any())
{
int rankPosition = 1;
foreach (Result kfz in sortedlistKFZ)
{
kfz.MesaAdvertNumber = rankPosition;
rankPosition++;
}
}
有没有更短的方法呢?
最佳答案
这行得通吗?
int rankPosition = 1;
var sortedListKFZ = listKFZ.OrderBy(r => r.Price).Select(r => {
r.MesaAdvertNumber = ++rankPosition;
return r;
});
关于c# - 使用 Linq 查询设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1771168/