.net 对(元组的)列表排序

.net 对(元组的)列表排序,.net,vb.net,linq,list,tuples,.net,Vb.net,Linq,List,Tuples,我有这样一份清单: Dim Results_List As New List(Of Tuple(Of String, String, Long)) 这些内容包括: (B, a, 5000) (G, a, 1000) (B, b, 8000) (G, b, 2000) 我是否可以使用LINQ(或其他什么,但不使用慢速FOR)以升序模式按长数字对项目进行排序,如下所示: (G, a, 1000) (G, b, 2000) (B, a, 5000) (B, b, 8000) 是,即使使用列表的内

我有这样一份清单:

Dim Results_List As New List(Of Tuple(Of String, String, Long))
这些内容包括:

(B, a, 5000)
(G, a, 1000)
(B, b, 8000)
(G, b, 2000)
我是否可以使用LINQ(或其他什么,但不使用慢速FOR)以升序模式按长数字对项目进行排序,如下所示:

(G, a, 1000)
(G, b, 2000)
(B, a, 5000)
(B, b, 8000)

是,即使使用
列表的内部
排序

Results_List.Sort(Function(p As Tuple(Of String, String, Long), q As Tuple(Of String, String, Long)) p.Item3.CompareTo(q.Item3))

请注意,这将直接对
结果列表进行排序
,而
OrderBy
将返回一个新的、已排序的、可枚举的结果。

以何种方式递减?对我来说,这看起来像是升序…注意,你的结果显示的是升序,而不是降序。感谢大家的喝彩,我在问题中编辑了这个。(注:我不认为这是a-1的原因)为什么你认为for循环会很慢?翻译成VB.NET:Results\u List=Results\u List.OrderBy(Function(X)X.Item3).ToList
Results_List.Sort(Function(p As Tuple(Of String, String, Long), q As Tuple(Of String, String, Long)) p.Item3.CompareTo(q.Item3))