繁体   English   中英

如何在vb.net中对数组中的日期列表进行排序?

[英]how to sort the Dates in array list in vb.net?

我有几个以日期格式(dd / mm / yyyy)命名的文件。我必须收集它们并在arraylist中进行排序? 任何建议...我确实喜欢这样

Dim filepath As String = FileStr
Dim directoryPath As String = System.IO.Path.GetDirectoryName(filepath)
Dim arrayList As New System.Collections.ArrayList()
For Each file As String In System.IO.Directory.GetFiles(directoryPath)
 arrayList.Add(System.IO.Path.GetFileNameWithoutExtension(file))
Next
arrayList.Sort()

注意:名为29/06/2015.txt的文件在Windows上无效。 以下代码已使用以下格式进行了测试: yyyy-mm-ddyyyy-dd-mm ,...

以下计划无法奏效吗? 但是,它将使用一个List而不是您的arraylist

Dim filepath As String = FileStr
Dim directoryPath As String = System.IO.Path.GetDirectoryName(filepath)
Dim myFileList As New List(Of String)
For Each file As String In System.IO.Directory.GetFiles(directoryPath)
    'Add only dates to the list
    If (IsDate(System.IO.Path.GetFileNameWithoutExtension(file))) Then
        myFileList.Add(System.IO.Path.GetFileNameWithoutExtension(file))
    End If
Next
myFileList.OrderByDescending(Function(x) CType(x, DateTime))

使用OrderByOrderBydescending更改排序方向


如果Arraylist是强制性的,那么您仍然可以更改输出,可以轻松地ArrayList from a List创建ArrayList from a List ,如下所示。

Dim arr As New ArrayList(myFileList)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM