Использование +=
и +
для массивов в 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[]
.