【发布时间】:2015-03-21 22:50:48
【问题描述】:
具体说明:
我正在使用这样的字典:
Dictionary<int, Tuple<int, Node>>;
为了简单起见,假设 Node 包含一个 int 值。
由此,我想按元组的 Item1 以升序对其进行排序,然后按 Node 对象中包含的值对关系进行排序(即值相同),使得值和中的最小值排序后的节点值在前。
var sumList = from pair in openList
orderby pair.Value.Item1 ascending
select pair;
我已经完成了第一部分。如何更改此设置以便我也可以应用第二部分?
例子:
Node nod1 = new Node(1);
Node nod2 = new Node(2);
Node nod3 = new Node(3);
Node nod4 = new Node(4);
Dictionary.Add(3, nod1);
Dictionary.Add(3, nod4);
Dictionary.Add(2, nod2);
Dictionary.Add(2, nod3);
//result after sort
nod2
nod3
nod1
nod4
【问题讨论】:
-
你对 Node 类的什么属性进行排序?
-
节点中包含的一些 int。
-
酷,应该很容易。如果它是一些自定义类型,您需要确保它实现了 IComparable。
标签: c# linq sorting dictionary