私はこのカスタムクラスオブジェクトのリストを持っています:
List<URL> URLs = new List<URL>();
コピーをスタックにプッシュしようとしています:
Stack<List<URL>> undo = new Stack<List<URL>>();
List<URL> temp = new List<URL>();
temp.AddRange(new List<URL>(URLs));
undo.Push(temp);
これで、元の(URL)リストからオブジェクトを削除するたびに、スタック(temp)にあるオブジェクトですべてOKになります。しかし、元の(URL)のオブジェクト内のリストからリスト要素を削除すると、スタック上にあるそのオブジェクトのリストのコピーで同じ要素が消えます。
そのオブジェクト内のリスト要素を削除するのと同じ方法で、URLからオブジェクトを削除します。なぜこれが起こっているのか誰かが知っていますか?