2010-01-08 71 views
14

如果我使用以下命令:Enumerable.Repeat()是否執行深層複製?

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

將在列表中的第二個元素是第一位的深層副本?

注: myCustomObject可以是任何對象

編輯:你能不能也請讓我知道的潛在用途Enumerable.Repeat的定製OBJETS打交道?

感謝

+0

誰能給我一個例子,其中Enumerable.Repeat可以用自定義對象打交道時派上用場?謝謝 – 2010-01-08 17:13:56

+0

「處理自定義對象」是什麼意思? – 2010-01-08 17:23:30

+0

我只是想知道什麼時候Enumerable.Repeat潛在有用 – 2010-01-08 17:43:09

回答

14

不,實際上Enumerable.Repeat重複確切枚舉返回中的相同引用 - 它不是副本。 (通過反射驗證)

-Oisin

+6

... – 2010-01-08 17:15:14

8

沒有,Enumerable.Repeat將重複剛纔的參考,它不會使對象的副本(除非它是理所當然的值類型)