我需要从一个目录中选择一个文件并移动到另一个目录。为此,我需要随机选择一个文件。
我需要选择一个随机文件(任何分机都可以),但我不知道如何使用return
,因为我是VB.NET
. 所以请给出想法和代码。
像这样?
Sub MoveRandomFile(from$, to$)
Static r As New Random
Dim Files = New IO.DirectoryInfo([from]).GetFiles
Dim FileToMove = Files(r.Next(0, Files.Count))
IO.File.Move(FileToMove.FullName, FileToMove.FullName.Replace([from], [to]))
End Sub
或者,如果您只想返回一个随机文件:
Function GetRandomFile(folder$) As IO.FileInfo
Static r As New Random
Dim Files = New IO.DirectoryInfo(folder).GetFiles
Return Files(r.Next(0, Files.Count))
End Function
static 关键字在第一次调用方法时创建变量,并在下次调用时保留它。我们需要这样做的原因是因为随机对象使用了一个种子,就像在 Minecraft 中一样,并且这个种子是使用有关正在运行的进程的信息生成的。因此,如果您每次创建一个新的随机对象,它每次都会选择相同的文件。