SortedList được tối ưu hóa để các lần xuất hiện xảy ra theo kiểu đặt hàng, do đó liệt kê xảy ra theo thứ tự được sắp xếp với chi phí tối thiểu. Bất cứ điều gì khác đòi hỏi phải sắp xếp lại. Do đó:
SortedList<string,bool> l=new SortedList<string, bool>();
l.Add("a",true);
l.Add("a",false);
l.Add("b",true);
l.Add("b",false);
var orderByVal=l.OrderBy(kvp => kvp.Value);
nhưng điều tra này sẽ chậm hơn đáng kể và được thực hiện trước, yêu cầu thêm dung lượng để thực hiện.
Tùy thuộc vào tình huống của bạn, việc duy trì 2 trường hợp SortedList với khóa/giá trị được đảo ngược sẽ rẻ hơn.
Bạn không thể thêm cùng một yếu tố vào danh sách hai lần. Có một ngoại lệ –
@BradPatton Vâng, bạn đang đúng ... – spender