Я пытаюсь создать программу для организации папок, заполненных случайными материалами. Я хочу, чтобы он помещал каждый тип файла в папку, которая описывает, что в нем находится. У меня есть массивы типов файлов внутри другого массива, чтобы он мог перемещаться.vb.net для каждого счетчика циклов
Он может перемещать типы файлов, указанные в массиве, но когда я попытался заставить его поместить каждый тип в отдельную папку, он говорит, что индекс массива выходит за пределы.
Он отлично работает, если вы заменяете индекс имен на число, но я не могу заставить его автоматически его менять.
Вот код, я использую:
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
Вы должны увеличивать 'число' как действие * последнего * в цикле, а не первое. Массивы индексируются нулями, поэтому 'Names (0)' - это первый элемент в списке, а не 'Names (1)'. – Blorgbeard
Альтернативно: инициализировать число до -1 вместо 0. –