dotnet: есть ли выход, чтобы напрямую получить ссылку на коллекцию значений в словаре? - PullRequest
0 голосов
/ 21 мая 2009

Я хочу отсортировать словарь на основе значения каждого элемента dictioanry. Но если я использую отсортированный словарь, сложность поиска увеличится с постоянной до log2 (n). Поэтому я хочу напрямую назначить ссылку на список значений в словаре списку Затем я могу отсортировать этот список и получить результаты. Я не хочу повторять каждый элемент словаря, чтобы добавить его значение в список, что увеличит сложность?

1 Ответ

2 голосов
/ 21 мая 2009

Вы можете получить коллекцию значений с помощью свойства Dictionary<>.Values. В следующем примере вы не перебираете значения, а framework делает это за вас.

Dictionary<int, Item> items = new Dictionary<int, Item>();
List<Item> values = new List<Item>(items.Values);
values.Sort();

Вы также можете хранить другой список только для значений и добавлять свои элементы как в словарь, так и в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...