我有一个String,Integer的字典,所以键是字符串,值是整数,我想按顺序对整数的值进行排序.我怎么能实现这个目标?
Tim*_*ter 10
您可以使用LINQ对Dictionary
by值进行排序:
Dim dictionary = New Dictionary(Of String, Integer)()
dictionary.Add("A", 2)
dictionary.Add("B", 4)
dictionary.Add("C", 5)
dictionary.Add("D", 3)
dictionary.Add("E", 1)
Dim sorted = From pair In dictionary
Order By pair.Value
Dim sortedDictionary = sorted.ToDictionary(Function(p) p.Key, Function(p) p.Value)
Run Code Online (Sandbox Code Playgroud)
实际上,它不会修改原始词典,而是使用新订单创建新词典.
但是:除了可行性之外,a Dictionary
不是IList
(作为数组或者List<T>
).它的目的是非常有效地查找密钥,但不循环所有条目.
它们是无序的,这意味着尽管您可以使用foreach循环以某种顺序检索元素,但该顺序没有特殊含义,并且它可能会在没有明显原因的情况下发生变化.