Enumerable.Repeat()执行深层复制吗?

Mah*_*aga 15 linq enumerable deep-copy repeat

如果我使用以下内容:

  var myList = Enumerable.Repeat(myCustomObject, 2);
Run Code Online (Sandbox Code Playgroud)

列表中的第二个元素是否是第一个元素的深层副本?

注意: myCustomObject可以是任何Object

编辑:在处理自定义对象时,您能告诉我Enumerable.Repeat的潜在用途吗?

谢谢

x0n*_*x0n 15

不,Enumerable.Repeat实际上在返回的可枚举中重复完全相同的引用 - 它不是副本.(通过Reflector验证)

-Oisin


Tho*_*que 8

不,Enumerable.Repeat只会重复引用,它不会复制对象(除非它是一个值类型的过程)