При использовании $array.Add()
-method вы пытаетесь добавить элемент в существующий массив. Массив - это коллекция фиксированного размера, поэтому вы получите сообщение об ошибке, поскольку его невозможно расширить.
$array += $element
создает новый массив с теми же элементами, что и старый + новый элемент, и этот новый больший массив заменяет старый в $array
-variable
Вы можете использовать оператор + =, чтобы добавить элемент в массив. Когда вы используете его, Windows PowerShell фактически создает новый массив со значениями исходного массива и добавленного значения. Например, чтобы добавить элемент со значением 200 в массив в переменной $ a, введите:
$a += 200
Источник: about_Arrays
+=
это дорогостоящая операция, поэтому, когда вам нужно добавить много элементов, вы должны попытаться добавить их как можно меньше операций, например:
$arr = 1..3 #Array
$arr += (4..5) #Combine with another array in a single write-operation
$arr.Count
5
Если это невозможно, рассмотрите возможность использования более эффективной коллекции, например List
или ArrayList
(см. Другой ответ).