2010-01-08 2 views
14

Если я использую следующее:Выполняет ли Enumerable.Repeat() глубокую копию?

var myList = Enumerable.Repeat(myCustomObject, 2); 

Будет ли второй элемент в списке будет глубокая копия первого?

Примечание: myCustomObject может быть любой объект

Edit: могли бы вы, пожалуйста, дайте мне знать потенциальное использование Enumerable.Repeat при работе с пользовательскими OBJETS?

Благодаря

+0

может кто-нибудь дать мне пример, где Enumerable.Repeat может пригодиться при работе с пользовательскими объектами? Спасибо –

+0

Что вы подразумеваете под «управлением пользовательскими объектами»? –

+0

Я просто хочу знать, когда Enumerable.Repeat потенциально полезен –

ответ

14

Нет, Enumerable.Repeat фактически повторяет точное та же ссылка в перечислимом возврате - это не копия. (Проверено с помощью рефлектора)

-Oisin

+6

, если объект не имеет значения типа ... –

8

Нет, Enumerable.Repeat просто повторит ссылку, он не будет делать копию объекта (если это не тип значения, конечно)