Ответ 1
В приведенном выше примере вы должны просто сделать:
$list = ,"aa" + $list
Это просто добавит "aa" к списку и сделает его 0-м. Проверьте, получив $list[0]
.
Код Powershell:
$list += "aa"
добавляет элемент "aa" в список $list. Есть ли способ добавить элемент? Это мое решение, но должен быть способ сделать это в одной строке.
$tmp = ,"aa";
$tmp += $list
$list = $tmp
В приведенном выше примере вы должны просто сделать:
$list = ,"aa" + $list
Это просто добавит "aa" к списку и сделает его 0-м. Проверьте, получив $list[0]
.
Использование +=
и +
в массивах в PowerShell делает копию массива каждый раз, когда вы его используете. Это прекрасно, если список/массив действительно большой. В этом случае рассмотрите использование общего списка:
C:\> $list = new-object 'System.Collections.Generic.List[string]'
C:\> $list.Add('a')
C:\> $list.Add('b')
C:\> $list.Insert(0,'aa')
C:\> $list
aa
a
b
Обратите внимание, что в этом случае вам нужно использовать методы "Добавить/Вставить". Если вы вернетесь к использованию +=
, он скопирует общий список обратно в object[]
.
Это объединяет два массива в один.
$list = @("aa") + $list
Невозможно выполнить чистое добавление в массив PowerShell, поскольку массивы PowerShell имеют фиксированную длину. Сочетание двух массивов в одном - хороший подход.