【发布时间】:2023-03-29 05:13:02
【问题描述】:
我正在尝试在我的应用程序中从系统中获取文件。但是在检索文件时,它曾经来过,但不是按排序顺序。我希望我的所有文件都按排序顺序排列。我对这个视觉基础很陌生,我尝试了很多东西,但无法按排序顺序获取文件。请帮帮我,提前谢谢。
这是我的代码:-
Dim path As String = "C:/UTRelOFA/Reva Test/src/00000178"
Dim oFolder As New DirectoryInfo(path)
Dim arr = oFolder.GetFiles(".tif")
Array.Sort(arr)
Cosole.writeline(arr)
我使用了很多东西并参考了这个链接: Sorting Directory.GetFiles()
【问题讨论】:
-
您在一次调用
GetFiles返回的数组上调用Array.Sort,但随后您只需丢弃该数组并再次调用GetFiles并使用该未排序的结果。您需要将GetFiles的结果实际分配给您的arr变量,然后将arr传递给Array.Sort。另外,在声明arr时不要指定它的大小。您不创建数组。GetFiles创建它,大小由它获取的文件数决定。 -
arr = oFolder.GetFiles(".tif") 并将其传递给 Array.Sort(arr) 你在说这个吗?我已经尝试过了,但这不起作用@jmcilhinney
-
你能提供我正确的代码来解决这个问题吗?这对我会有帮助
-
您甚至不需要指定类型。您可以使用
Dim arr = oFolder.GetFiles("*.tif")来执行此操作,变量的类型将从方法的返回类型中推断出来。另请注意,搜索模式需要是“*.tif”而不是“.tif”。您的模式不会匹配任何内容,因为没有具有该确切名称的文件。 -
另外,请在项目属性中转
Option Strict On。这将有助于在编译时而不是在运行时发现与错误数据类型相关的问题。
标签: vb.net