私は持っています、List<T>
そして私は私が概説しようとしている行動を避ける必要があります:
// assume cls and numberToAdd are parameters passed in.
int pos = numberToAdd;
List<MyClass> objs = new List<MyClass>(numberToAdd);
for(int i = 0; i < numberToAdd; i++)
{
objs.Add(cls);
objs[i].X = -((pos * cls.Width) + cls.Width / 2);
pos--;
}
Console.WriteLine(objs[0].X + "\r\n" + objs[1].X);
これにより、この書き込み行は同じ値を出力します。
基本的に必要なのは、「Add」メソッドの動作を変更することです。同じオブジェクトへの単なる参照ではなく、同じ値を持つオブジェクトの新しいインスタンスを追加したいと思います。これにより、より多くのメモリが使用されることを理解しています。