以数字方式对列表框中的项目进行排序

时间:2013-12-09 17:31:23

标签: vb.net sorted listboxitems

我无法用数字方式对列表框中的项目进行排序。我所有的“1”文件名都组合在一起。示例=(file1,file10,file11,file2,file3,file4等)

我将列表框中的Sorted选项设置为True,但似乎无法正常工作。

以下是我目前正在添加商品的方式。

    Dim directoryInfo As New System.IO.DirectoryInfo(TextBox1_Path.Text)
    Dim fileInfos() As System.IO.FileInfo            
    fileInfos = directoryInfo.GetFiles()
    For Each fileInfo As System.IO.FileInfo In fileInfos
        ListBoxUPSFiles.Items.Add(fileInfo.Name)
    Next

我想将它们排序为file1,file2,file3,file4等。

有关排序文件名的建议吗?

1 个答案:

答案 0 :(得分:2)

删除列表框排序并执行:

For Each fileInfo As System.IO.FileInfo In fileInfos.OrderBy( _
    Function(fi) Integer.Parse(Regex.Match(fi.Name, "\d+").Value))
    ListBoxUPSFiles.Items.Add(fileInfo.Name)
Next