如何调暗特定长度的空数组

时间:2014-07-24 11:53:23

标签: arrays powershell

我需要将10个项目的集合复制到一个数组中,以便我可以将其编入索引。所以我需要使用CopyTo方法并指定一个足够大的目标数组来容纳集合。

所以在调用CopyTo之前,我需要调暗一个特定大小的空数组。我似乎无法找到正确的PowerShell语法。

这对我没用:

$snapshot = New-Object System.Array 10;
  

New-Object:找不到构造函数。找不到类型为System.Array的适当构造函数。

修改

已经解决过:

$snapshot = New-Object System.Collections.ArrayList;
$snapshot.AddRange($slider);  

2 个答案:

答案 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,反之亦然。