2010-01-08 9 views
14

Wenn ich folgend verwenden:Führt Enumerable.Repeat() eine tiefe Kopie durch?

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

wird das zweite Element in der Liste eine tiefe Kopie des ersten sein?

Hinweis: myCustomObject kann jedes Objekt sein

Edit: Könnten Sie auch bitte lassen Sie mich die mögliche Verwendung von Enumerable.Repeat wissen, wann mit benutzerdefinierten objets zu tun?

Dank

+0

kann mir jemand ein Beispiel geben, wo Enumerable.Repeat kann nützlich sein, wenn sie mit benutzerdefinierten Objekten zu tun? Danke –

+0

was meinst du mit "Umgang mit benutzerdefinierten Objekten"? –

+0

Ich möchte nur wissen, wann ist Enumerable.Repeat möglicherweise nützlich –

Antwort

14

Nein, Enumerable.Repeat wiederholt tatsächlich die genaue Die gleiche Referenz in der Aufzählung zurückgegeben - es ist keine Kopie. (Via Reflektor überprüft)

-Oisin

+6

wenn das Objekt nicht vom Werttyp ist ... –

8

Nein, Enumerable.Repeat wird die Referenz nur wiederholen, wird es nicht eine Kopie des Objekts machen (es sei denn, es ist ein Werttyp ist natürlich)