0

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

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

你好

你好堆栈溢出

代替:

你好

你好

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

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

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

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

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

任何帮助表示赞赏!

亲切的问候

丹尼斯·伯恩森

4

1 回答 1

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
于 2013-11-10T19:45:54.193 回答