2015-06-29 3 views
0

У меня есть несколько файлов, названных в датированном формате (dd/mm/yyyy). Мне нужно их собрать и отсортировать в arraylist? любое предложение ... я сделал, как этоткак отсортировать даты в списке массивов в vb.net?

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() 

ответ

2

Примечание: файл с именем 29/06/2015.txt не действует на Windows,. следующий код был протестирован с использованием следующих форматов: yyyy-mm-dd, yyyy-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)) 

Использование OrderBy Или OrderBydescending изменить направление сортировки


Если Arraylist является обязательным, то вы можете изменить вывод, который вы можете легко создать ArrayList from a List следующим образом.

Dim arr As New ArrayList(myFileList) 
+0

Arraylist не является целесообразным, – Satyajit

+0

, а как насчет разных месяцев? – Satyajit

+0

, если формат dd/mm/yyyy, тогда заказ должен быть хорошим для Days-Months-Years. – User999999

 Смежные вопросы

  • Нет связанных вопросов^_^