Lambda OrderBy方法

时间:2012-11-02 19:48:34

标签: vb.net linq lambda

我有一个图表类来检测我正在写的一些业务逻辑中的循环依赖。我的图形类构建了知道与其他节点的关系的节点。

我将nodeList作为List(of Objects),每个都有一个List(of String)

我在想下面的代码行会产生正确的排序。我想错了。

nodeList.OrderByDescending(Function(x) x.Count)

我想按列表(字符串).Count降序重新排序我的nodeList。

my List(of Object)
(0) | Count = 3
(1) | Count = 5
(2) | Count = 2

My desired output List(of Object)
(0) | Count = 5
(1) | Count = 3
(2) | Count = 2

1 个答案:

答案 0 :(得分:24)

OrderByDescending不会对列表进行重新排序。它返回一个枚举器,您可以使用它来获取新的有序列表。您需要使用.ToList()替换原始列表:

 nodeList = nodeList.OrderByDescending(Function(x) x.Count).ToList()