Powershell函数,用于向现有数组元素添加元素

时间:2013-11-10 19:18:55

标签: arrays function powershell

我正在尝试创建一个将新元素与数组中现有元素组合在一起的函数。 因此,如果我创建了一个包含2个索引的数组,并且这些索引中的值为“Hello”,并且我调用了我的函数。我需要它来获取所选索引并组合这两个值,而不覆盖或删除数组中现有值的任何部分。

所以在函数之后数组看起来像这样:

您好

Hello stackoverflow

而不是:

您好

您好

到目前为止,这是我的代码:

Function AddToArray ($Index, $Add)
{
#$MainArray = New-Object System.Collections.ArrayList;

$MainArray[$Index] = "$MainArray $Add";

$MainArray | % {foreach ($Index in $MainArray[$Index])
{
    $MainArray[$Index] + $Add;
}
}

这对我来说唯一能做的就是覆盖所选索引的值,但不要将它们组合起来。

感谢任何帮助!

亲切的问候

Dennis Berntsson

1 个答案:

答案 0 :(得分:0)

你这样做太复杂了。只需通过索引访问元素并将新字符串添加到其中:

function AddToArrayElement($MainArray, $Index, $Add) {
  $MainArray[$Index] += $Add
}

示例:

PS C:\> function AddToArrayElement($MainArray, $Index, $Add) {
>> $MainArray[$Index] += $Add
>> }
>>
PS C:\> $a = New-Object System.Collections.ArrayList
PS C:\> $a.Add('Hello'); $a.Add('Hello')
0
1
PS C:\> $a
Hello
Hello
PS C:\> AddToArrayElement $a 1 ' StackOverflow'
PS C:\> $a
Hello
Hello StackOverflow