1

我需要从一个目录中选择一个文件并移动到另一个目录。为此,我需要随机选择一个文件。

我需要选择一个随机文件(任何分机都可以),但我不知道如何使用return,因为我是VB.NET. 所以请给出想法和代码。

4

1 回答 1

2

像这样?

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 中一样,并且这个种子是使用有关正在运行的进程的信息生成的。因此,如果您每次创建一个新的随机对象,它每次都会选择相同的文件。

于 2013-04-20T18:17:00.253 回答