を使用して、オブジェクトのリストを整数 ID で並列に並べ替えていますOrderBy
。同じ ID を持つオブジェクトがいくつかあり、並べ替えを安定させる必要があります。
Microsoft のドキュメントによると、並列化OrderBy
は安定していませんが、安定させるための実装アプローチがあります。しかし、私はこれの例を見つけることができません。
var list = new List<pair>() { new pair("a", 1), new pair("b", 1), new pair("c", 2), new pair("d", 3), new pair("e", 4) };
var newList = list.AsParallel().WithDegreeOfParallelism(4).OrderBy<pair, int>(p => p.order);
private class pair {
private String name;
public int order;
public pair (String name, int order) {
this.name = name;
this.order = order;
}
}