Các giá trị cần được sao chép, bởi vì không có cách nào để chia sẻ bộ nhớ giữa List<TValue>
và SortedList<TKey,TValue>
.
tôi giả sử bạn muốn có một List<TValue>
chứa các giá trị mà không cần quan tâm đến các phím mà bạn có thể làm với:
sortedList.Values.ToList();
Nhưng nếu bạn chỉ cần một IList<TValue>
(như trái ngược với lớp bê tông List<TValue>
), bạn có thể trực tiếp sử dụng thuộc tính Values
và do đó tránh tạo bản sao.
Tất nhiên, các giải pháp này khác nhau về ngữ nghĩa khi bộ sưu tập gốc được sửa đổi. Bản sao List<TValue>
sẽ không phản ánh các thay đổi, trong khi IList<TValue>
được tham chiếu bởi thuộc tính Values
, sẽ phản ánh các thay đổi, ngay cả khi bạn gán cho một biến khác.
Xem xét thuộc tính SortedList.Values. –
Tôi có một datacontract mà serializes một List, đó là lý do tại sao tôi cần danh sách . –
Almo