0 ArrayListを作成し、次のように2つの文字列を追加したとします。
string item1 = string.Empty;
string item2 = string.Empty;
ArrayList someList = new ArrayList();
someList.Add(item1);
someList.Add(item2);
someFunc(someList);
次に、someListを取得してメソッドに渡します。このメソッドは、item1とitem2に対して何らかの操作を実行し、次のように戻ります。
public void someFunc(ArrayList parameters)
{
parameters[0] = "Monkeys";
parameters[1] = "More Monkeys";
}
someFuncが、item1が「Monkeys」に等しく、item2が「MoreMonkeys」に等しいことを返す場合、someListにはそれぞれインデックス0と1のitem1とitem2への参照が含まれていると思います。しかし、私が見ているのは、item1が "Monkeys"に等しく、item2が""に等しいということです。
なんで?そして、refによって各アイテムを個別に渡すことなく、この偉業をどのように実行しますか?