【发布时间】:2015-08-16 23:14:12
【问题描述】:
我正在尝试制作一个程序来组织充满随机内容的文件夹。我希望它将每种文件类型放入一个描述其中内容的文件夹中。我在另一个数组中有文件类型数组,所以它可以循环。
它可以很好地移动数组中指定的文件类型,但是当我试图让它把每种类型放到一个单独的文件夹中时,它说数组索引超出了范围。
如果您将名称的索引替换为数字,它可以正常工作,但我无法让它自动更改它。
这是我正在使用的代码:
Dim Extensions As Array = {Audio, Video, Image, Document, PlainText, Batch, Powershell, VB, DiskImage, Compressed, Excutable, Model, Code, Web, Registry}
Dim Names As String() = {"Audio", "Videos", "Pictures", "Documents", "Text Documents", "Batch", "Powershell", "Visual Basic", "DiskImages", "Compressed Files", "Excutables", "3d Models", "Code", "Web", "Registry"}
Dim number As Integer = 0
For Each type As String() In Extensions
number += 1
path = path + Names(number)
For Each extension As String In type
Label2.Text = extension
CopyMove(FolderBrowserDialog2.SelectedPath, path, extension, s)
Next
Next
【问题讨论】:
-
您应该增加
number作为循环中的last 动作,而不是第一个动作。数组是零索引的,所以Names(0)是列表中的第一项,而不是Names(1)。 -
或者:将数字初始化为 -1 而不是 0。