Здравствуйте, Shmj, Вы писали:
S>Это должно быть эквивалентно записи:
S>S>dic.Add(1, "aaaaaa");
S>dic.Add(2, "bbbbbb");
S>dic.Add(1, "*******");
S>dic.Add(2, "bbbbbb");
S>
S>И приведет к исключению. Что тут странного? Вы всегда создаете новый контейнер и пихаете в него элементы двух контейнеров.
S>
S>В чем неопределенность поведения?
Что бы возникло исключение .net framework придется перебрать все ключи одного Dictionary и сравнить с каждым ключем со второго .
А это повидение совсем отличается от повидения: "просто создать новый список и скопировать память из двух других."