Ошибка в PowerShell при использовании массивов

Пока я пытаюсь присвоить значение конкретному индексу массива, он показывает ошибки.PS /home/mifi> $names = @()

PS /home/mifi> $names[1]="abc" Index was outside the bounds of the array. At line:1 char:1 + $names[1]="abc" + ~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], IndexOutOfRangeException + FullyQualifiedErrorId : System.IndexOutOfRangeException

pwsh -v
PowerShell v6.0.2

`

1 ответ

Решение

Это потому, что вы должны сначала инициализировать массив. Если вы знаете размер массива, вы можете сделать это следующим образом:

$arraySize = 10
$names= 1..$arraySize | foreach { $null }

Рассмотрите возможность использования хеш-таблицы:

$names = @{}
$names[1] = "abc"
Другие вопросы по тегам