我需要将10个项目的集合复制到一个数组中,以便我可以将其编入索引。所以我需要使用CopyTo
方法并指定一个足够大的目标数组来容纳集合。
所以在调用CopyTo
之前,我需要调暗一个特定大小的空数组。我似乎无法找到正确的PowerShell语法。
这对我没用:
$snapshot = New-Object System.Array 10;
New-Object:找不到构造函数。找不到类型为System.Array的适当构造函数。
修改
已经解决过:
$snapshot = New-Object System.Collections.ArrayList;
$snapshot.AddRange($slider);
答案 0 :(得分:0)
我认为这应该可以解决问题:
$snapshot = @()
编辑:
好的,抱歉。
测试了这个:
> $snapshot = New-Object object[] 10
> $snapshot.Length
10
答案 1 :(得分:0)
我认为只需创建一个新数组就可以在Powershell中实现。
# A "collection of ten items"
$collection = @(1,2,3,4,5,6,7,8,9,0)
#This command creates a new array, sizes it, and copies data into the new array
$newCollection = $collection
在这种情况下,Powershell会创建一个新数组。无需指定数组的大小; Powershell会自动调整大小。如果你向数组中添加一个元素,Powershell将处理你必须在低级语言中执行的繁琐的initializeNew-copy-deleteOld例程。
请注意,$ newCollection不是对$ collection引用的同一个数组的引用。它是对一个全新数组的引用。修改$ collection不会影响$ newCollection,反之亦然。