2010-01-08 22 views
14

Nếu tôi sử dụng như sau:Có Enumerable.Repeat() làm một bản sao sâu?

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

sẽ là yếu tố thứ hai trong danh sách là một bản sao sâu sắc về người đầu tiên?

Lưu ý: myCustomObject thể được bất kỳ đối tượng

Edit: thể bạn cũng xin vui lòng cho tôi biết việc sử dụng tiềm năng của Enumerable.Repeat khi giao dịch với objets tùy chỉnh?

Cảm ơn

+0

bất kỳ ai cũng có thể cho tôi ví dụ khi Enumerable.Repeat có thể có ích khi xử lý các đối tượng tùy chỉnh? Cảm ơn –

+0

bạn có ý nghĩa gì khi "xử lý các đối tượng tùy chỉnh"? –

+0

Tôi chỉ muốn biết khi nào là Enumerable.Repeat có khả năng hữu ích –

Trả lời

14

Không, Enumerable.Repeat thực sự lặp lại chính xác cùng một tham chiếu trong số đếm được trả về - nó không phải là một bản sao. (được xác minh qua Reflector)

-Oisin

+6

trừ khi đối tượng thuộc loại giá trị ... –

8

Không, Enumerable.Repeat sẽ chỉ lặp lại các tài liệu tham khảo, nó sẽ không tạo một bản sao của đối tượng (trừ khi đó là một kiểu giá trị tất nhiên)

Các vấn đề liên quan