Как инициализировать многомерный массив с помощью операции цикла в VB .Net?
У меня есть несколько массивов, которые называются «Комната», «Предмет» и «Население».
Массив 'Комната', содержит название комнаты, т.е.
{"RoomA", "RoomB"}
Массив 'Subject', содержит название субъекта, т.е.
{"English", "Mathematic", "Physics", "Biology"}
Массив «Население» - это многомерный массив, содержащий случайную комнату, взятую из массива «Комната». то есть {("RoomA", "RoomA", "RoomA", "RoomA"), ("RoomA", "RoomA", "RoomA", "RoomB"), ("RoomB", "RoomA", "RoomB", "RoomB"), .....}
. Длина массива основана на сгенерированном значении и длине субъекта.
Я пробовал этот код, но не повезло:
Dim i, j As Integer
Dim TotalSubject As Integer = Subject.Count()
Dim TotalRoom As Integer = Room.Count()
Dim Population(,) As String
ReDim Population(generate, TotalSubject) 'Give the 'Population' bound
For i = 0 To generate
For j = 0 To TotalSubject
Dim Randomize As Integer = Rnd() * TotalRoom
Population(i, j) = Room(Randomize) '----- ERROR HERE -----'
Next j
Next i
Но пока я выполняю код, он получает сообщение об ошибке «IndexOutOfRangeException ishandled», указывающее на отмеченный выше код «ОШИБКА ЗДЕСЬ». Можете ли вы помочь мне решить эту проблему?
Этот код для инициализации начального значения используется Компактный генетический алгоритм для задачи оптимизации для оптимизации использования классной комнаты. Кто-нибудь знает этот метод? Если да, не хотите ли поделиться своими знаниями со мной? Я пытался найти несколько материалов для этого, но до сих пор не могу внедрить его в код.