Сначала объявите свой начальный массив.
' declare initial array
Dim arr1 = {1, 8, 9, 8}
Затем объявите массив с зазубриной для результата. Поскольку исходный массив имеет 4 элемента, он создаст 4 массива.
' declare a jagged array for the result
Dim result(arr1.Length - 1)() As Integer
Затем вы клонируете начальный массив и меняете одно из значений.
For i = 0 To arr1.Length - 1
' clone the initial array
result(i) = arr1.Clone()
' only change the element at index = i
result(i)(i) += 1
Next
Результат:
2 8 9 8
1 9 9 8
1 8 10 8
1 8 9 9
Полный источник:
Module Module1
Sub Main()
' declare initial array
Dim arr1 = {1, 8, 9, 8}
' declare a jagged array for the result
Dim result(arr1.Length - 1)() As Integer
For i = 0 To arr1.Length - 1
' clone the initial array
result(i) = arr1.Clone()
' only change the element at index = i
result(i)(i) += 1
Next
' print result
For i = 0 To result.Length - 1
For j = 0 To result(i).Length - 1
Console.Write(result(i)(j) & " ")
Next
Console.WriteLine()
Next
Console.ReadKey(True)
End Sub
End Module
В случае, если вы хотите, чтобы сделать функцию.
Function CopyArray(ByVal source As Integer(), i As Integer) As Integer()
' clone the initial array
Dim temp = source.Clone()
' only change the element at index = i
temp(i) += 1
Return temp
End Function
Вы вызываете функцию внутри итерации.
For i = 0 To arr1.Length - 1
result(i) = CopyArray(arr1, i)
Next
Полный источник с функцией:
Module Module1
Sub Main()
' declare initial array
Dim arr1 = {1, 8, 9, 8}
' declare a jagged array for the result
Dim result(arr1.Length - 1)() As Integer
For i = 0 To arr1.Length - 1
result(i) = CopyArray(arr1, i)
Next
' print result
For i = 0 To result.Length - 1
For j = 0 To result(i).Length - 1
Console.Write(result(i)(j) & " ")
Next
Console.WriteLine()
Next
Console.ReadKey(True)
End Sub
Function CopyArray(ByVal source As Integer(), i As Integer) As Integer()
' clone the initial array
Dim temp = source.Clone()
' only change the element at index = i
temp(i) += 1
Return temp
End Function
End Module
Спасибо haraman, но у меня есть исключение на данный момент ... Если i = (arrNumber - 1) Then ' – rasha
Извините, я получил (ссылка объекта не установлена в экземпляр объекта) .at arran (i) = arr1 (i) не в том, что я сказал раньше – rasha
@rasha Это был просто пример того, как вы можете достичь своего требования, используя этот минимальный код. Вы должны реализовать его в своем коде согласно вашему требованию.Поэтому предполагалось, что вы инициализируете 'arran' и печатаете его или используете его любым другим способом. Проверьте обновленный код – haraman