2

我正在使用一个循环来构建文件名列表及其创建日期:

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 方法,但我不知道如何正确实现它们。有人可以帮帮我吗?

4

3 回答 3

6

这使用以下命令对原始列表进行排序而不创建新列表(如 Linq 方法) List.Sort

datelist.Sort(Function(kv1, kv2) kv1.Value.CompareTo(kv2.Value))
于 2013-01-04T22:23:00.647 回答
2
Dim sorted = (From item In datelist Order By item.Value Select item).ToList

应该做的伎俩

于 2013-01-04T22:20:20.043 回答
1

只使用一些简单的 LINQ 有什么问题?

    Dim orderedList As List(Of KeyValuePair(Of String, Date)) = datelist.OrderBy(Function(o) o.Value).ToList
于 2013-01-04T22:37:22.693 回答