我正在尝试创建一个将新元素与数组中现有元素组合在一起的函数。 因此,如果我创建了一个包含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
答案 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