列表框VB.net上的排序名称

列表框VB.net上的排序名称,vb.net,sorting,listbox,Vb.net,Sorting,Listbox,因此,我的列表框中填充了文件夹中的文件。 我希望文件以升序的方式,但是有些文件有相同的名称,当你在windows上用相同的名称命名时,它会像,filename,filename(2),filename(3)。。。文件名(10) 但在列表框中,它类似于文件名(10)、文件名(11)、文件名(2)、文件名(3)。。。文件名 我希望它是windows的运行方式 我试过了,但没有结果 items = ListBox1.Items.OfType(Of Object)().ToList()

因此,我的列表框中填充了文件夹中的文件。 我希望文件以升序的方式,但是有些文件有相同的名称,当你在windows上用相同的名称命名时,它会像,filename,filename(2),filename(3)。。。文件名(10)

但在列表框中,它类似于文件名(10)、文件名(11)、文件名(2)、文件名(3)。。。文件名

我希望它是windows的运行方式

我试过了,但没有结果

        items = ListBox1.Items.OfType(Of Object)().ToList()
    ListBox5.Items.AddRange(items.OrderBy(Function(i) i).ToArray())
试试这个:

items = ListBox1.Items
System.Array.Sort(items)
然后对每个循环迭代

尝试以下操作:

items = ListBox1.Items
System.Array.Sort(items)

然后对每个循环迭代

(同样适用于VB.Net)。公认的答案是PInvokes
strcplulogicalw
:这是一种选择,实际使用相对频繁。您还可以使用中显示的扩展方法:扩展应用于
IEnumerable
集合(so、列表、数组等)。如果您感兴趣,我建议将返回类型更改为
IEnumerable
,而不是
IORDerenumerable
(将
return source.OrderBy(…)更改为IEnumerable
),并可能
生成返回
每个值。在VB.Net中有三个答案使用相同的Win23函数,以及。这三种方法都可以转换为扩展方法,使用
Func
作为选择器而不是比较器。(这同样适用于VB.Net)。公认的答案是PInvokes
strcplulogicalw
:这是一种选择,实际使用相对频繁。您还可以使用中显示的扩展方法:扩展应用于
IEnumerable
集合(so、列表、数组等)。如果您感兴趣,我建议将返回类型更改为
IEnumerable
,而不是
IORDerenumerable
(将
return source.OrderBy(…)更改为IEnumerable
),并可能
生成返回
每个值。在VB.Net中有三个答案使用相同的Win23函数,以及。这三种方法都可以转换为扩展方法,使用
Func
作为选择器而不是比较器。