Код 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
Обратите внимание, что в этом сценарии вам нужно использовать методы Add/Insert. Если вы вернетесь к использованию +=
, он скопирует общий список обратно в объект[]
.