プロジェクトで静的変数を使用すると問題が発生します (強制的に静的変数を使用する)
public static List<int> a = new List<int>();
public static List<List<int>> list = new List<List<int>>();
public Form1()
{
for (int i = 0; i < 5;i++ )
a.Add(i);
list.Add(a);
Console.WriteLine(list[0].Count); // **count = 5**
a.RemoveAt(0);
list.Add(a);
Console.WriteLine(list[0].Count); // **count = 4**
Console.WriteLine(list[1].Count); // count = 4
}
を使うa.RemoveAt(0)
とlist[0]
変化します。なぜこれを行うのですか?どうすれば修正できますか?