我有Collection
Products
。每个产品都有一个ProductId(int)属性。我还有一个List<int>
,每个ProductId都有一个条目。我需要Collection<Products>
按List<int>
订购。这可能是使用 LINQ 或其他方法吗?
答案 0 :(得分:3)
试试这个:
var res = orig.OrderBy(p => orderSettingList.IndexOf(p.ProductId));
请注意,列表中未包含的属性值的产品将排在所有其他产品之前。
答案 1 :(得分:0)
我认为连接将是最有效的方法,因为它在内部使用字典。
orderSettingList.Join(orig, l => l, p => p.ProductId, (l, p) => p);