0

新しい要素を配列内の既存の要素と組み合わせる関数を作成しようとしています。したがって、2 つのインデックスを持つ配列を作成し、それらのインデックスの値が "Hello" である場合、関数を呼び出します。選択したインデックスを取得し、配列内の既存の値の一部を上書きまたは削除せずに 2 つの値を結合する必要があります。

したがって、関数の後の配列は次のようになります。

こんにちは

こんにちはスタックオーバーフロー

それ以外の:

こんにちは

こんにちは

これまでのところ、これは私のコードです:

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 に答える