Tại sao chỉ có một SortedList<TKey, TValue>
trông giống như một từ điển, nhưng không có SortedList<T>
đó thực sự chỉ là một danh sách luôn được sắp xếp?Tại sao không có SortedList <T> trong .NET?
Theo the MSDN documentation on SortedList, nó thực sự được thực hiện nội bộ dưới dạng mảng động là KeyValuePair<TKey, TValue>
luôn được sắp xếp theo khóa. Lớp học đó có hữu ích hơn không khi bạn có danh sách bất kỳ loại nào T
? Điều đó cũng không phù hợp với cái tên tốt hơn?
hmm, một ý tưởng thú vị. Nhưng nếu tôi đã có một SortedList làm thế nào nó sẽ thực hiện phân loại (trong đó 'chìa khóa')? Tôi có phải làm cho Foo triển khai IComparable không? –
RPM1984
Phải đồng ý với bạn - với tên bạn thực sự không mong đợi lớp này chứa các cặp khóa-giá trị. Nó không phải là một từ điển, tất nhiên, vì bạn có thể có cùng một chìa khóa hiện diện trong danh sách nhiều lần. –
@ RPM1984 - vâng, bạn có thể làm cho Foo IComparable hoặc bạn có thể cung cấp một so sánh khi bạn xây dựng danh sách. –