我正在使用一个循环来构建文件名列表及其创建日期:
Dim datelist As New List(Of KeyValuePair(Of String, Date))
Dim values As New KeyValuePair(Of String, Date)(filename, initialdate)
If Not datelist.Contains(values) Then
datelist.Add(values)
End If
填充列表后,我需要在执行其他功能之前按日期对其进行排序。 我一直在寻找orderby或sort方法,但我无法弄清楚如何正确实现它们。有人可以帮我一把吗?
答案 0 :(得分:6)
这会对原始列表进行排序,而不使用List.Sort
创建新列表(如Linq方法):
datelist.Sort(Function(kv1, kv2) kv1.Value.CompareTo(kv2.Value))
答案 1 :(得分:2)
Dim sorted = (From item In datelist Order By item.Value Select item).ToList
应该做的伎俩
答案 2 :(得分:1)
使用一些简单的LINQ有什么问题?
Dim orderedList As List(Of KeyValuePair(Of String, Date)) = datelist.OrderBy(Function(o) o.Value).ToList