相关疑难解决方法(0)

如何根据订购排序

可以说我有物品

items : [{id:1,...}, {id:2,...}, {id:3,...}]
Run Code Online (Sandbox Code Playgroud)

命令:[ 2,3,1 ]得到一个可枚举的

items : [{id:2,...}, {id:3,...}, {id:1,...}]
Run Code Online (Sandbox Code Playgroud)

我希望它能成为符合标准的东西

items.Select(o => new {key = ordering[i++], value = o})
     .OrderBy(k => k.key)
     .Select(o => o.value)
Run Code Online (Sandbox Code Playgroud)

但有更清洁的解决方案吗?


以下我已经确认了这项工作(HimBromBeere,Domysee,qxg)

var expectedOrder = ordering.Select(x => result.First(o => o.Id == x));
var expectedOrder = result.OrderBy(item => Array.FindIndex(ordering,i => i == item.Id));
var expectedOrder = result.OrderBy(item => ordering.ToList().FindIndex(i => i == item.Id));
var expectedOrder = 
  from o in ordering
  join i in result 
    on o equals i.Id
  select …
Run Code Online (Sandbox Code Playgroud)

.net c# lambda

10
推荐指数
1
解决办法
444
查看次数

标签 统计

.net ×1

c# ×1

lambda ×1