【问题标题】:VB.NET Sort files in directory by alphanumericVB.NET 按字母数字对目录中的文件进行排序
【发布时间】:2011-09-30 13:27:20
【问题描述】:

如何按字母数字对以下目录中的文件进行排序? 文件示例:12325_2011.jpg

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        Dim di As New IO.DirectoryInfo(ImagePath)
        Dim imageArray As IO.FileInfo() = di.GetFiles()
        Dim image As IO.FileInfo

        'list the names of all images in the specified directory

        For Each image In imageArray
            CheckBoxList1.Items.Add(image.Name)
        Next
    End If
End Sub

【问题讨论】:

    标签: vb.net sorting


    【解决方案1】:

    只需像这样修改现有的 For Each 循环:

    For Each image In imageArray.OrderBy(Function(i) i.Name)
        CheckBoxList1.Items.Add(image.Name)
    Next
    

    【讨论】:

    • 你能解释一下 Function(i) i.Name 是什么吗?
    • 这是一个 lambda 表达式 - 一个没有名称的小型迷你函数,它告诉 OrderBy 函数如何比较数组中的项目以进行排序。
    【解决方案2】:

    您可以使用排序列表类而不是图像数组:

    http://msdn.microsoft.com/en-us/library/system.collections.sortedlist.aspx

    例如

    For each Item in di.GetFiles
       'Add image url to sorted list
    Next
    
    
    For Each Item in SortedList
        'Add to checkbox list
    Next
    

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 2013-08-06
      • 1970-01-01
      相关资源
      最近更新 更多