按List <int> </int>排序集合

时间:2012-12-21 01:26:57

标签: .net linq enumerable

我有Collection Products。每个产品都有一个ProductId(int)属性。我还有一个List<int>,每个ProductId都有一个条目。我需要Collection<Products>List<int>订购。这可能是使用 LINQ 或其他方法吗?

2 个答案:

答案 0 :(得分:3)

试试这个:

var res = orig.OrderBy(p => orderSettingList.IndexOf(p.ProductId));

请注意,列表中未包含的属性值的产品将排在所有其他产品之前。

答案 1 :(得分:0)

我认为连接将是最有效的方法,因为它在内部使用字典。

orderSettingList.Join(orig, l => l, p => p.ProductId, (l, p) => p);