gpt4 book ai didi

vb.net - 如何使用 Directory.EnumerateFiles

转载 作者:行者123 更新时间:2023-12-01 12:33:10 25 4
gpt4 key购买 nike

msdn ( https://msdn.microsoft.com/en-us/library/dd383458(v=vs.110).aspx) 说:

EnumerateFiles 和 GetFiles 方法的区别如下:当您使用 EnumerateFiles 时,您可以在返回整个集合之前开始枚举名称集合;使用 GetFiles 时,必须等待返回整个名称数组,然后才能访问该数组。因此,当您处理许多文件和目录时,EnumerateFiles 会更有效率。

如何在整个集合返回之前开始使用集合?

对于包含大约 45000 个文件的目录,以下代码给出了超过 3 分钟的运行时间

Dim TIme1, TIme2 As String
TIme1 = TimeString
Dim DirFiles As Generic.List(Of String) = New Generic.List(Of String)(Directory.EnumerateFiles(SourceDirectory))
Dim NumberOfFiles As Integer
NumberOfFiles = DirFiles.Count()
TIme2 = TimeString
MsgBox("Begin time " & TIme1 & "There are " & NumberOfFiles & " Photos in the Directory ." & SourceDirectory & "End Time " & TIme2)

我是否可以在集合完全读取之前就已经使用 Dirfiles 中的条目?怎么办?

在微软推出 Windows 之前,我曾经是一名专业程序员。我的 Windows 编程经验很少。

最佳答案

虽然您不能很好地利用 EnumerateFiles 返回的文件计数,但您可以使用 For Each 循环立即开始处理集合中的单个文件等等,它的工作不需要元素的数量。

例如你可以这样做:

Dim FileCount As Integer
Dim files = Directory.EnumerateFiles(srcDir)
For Each file in files
'Do something with this file
' e.g.
TextBox1.AppendText(file & vbCrLf)
FileCount += 1
Next
MsgBox ( FileCount.ToString & " files processed.")

那么你知道它是如何使用的了吗?

[注意:徒手输入的代码..可能包含拼写错误。它只是为了解释这个概念。]

关于vb.net - 如何使用 Directory.EnumerateFiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com