VB.Net 按整数值排序字典(字符串,整数)

标签 vb.net dictionary

我有一个字符串,整数的字典,所以键是字符串,值是整数,我想按整数值的升序对键进行排序。我怎么能做到这一点?

最佳答案

您可以使用 LINQDictionary 进行排序按值(value):

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)

实际上它不会修改原始字典,而是使用新顺序创建一个新字典。

但是 : 除了可行性,还有Dictionary不是 IList (作为数组或 List<T> )。它的目的是非常有效地查找键而不是循环所有条目。

它们是无序的,这意味着尽管您可以使用 foreach 循环以某种顺序检索元素,但该顺序没有特殊意义,并且可能会无缘无故地更改。

关于VB.Net 按整数值排序字典(字符串,整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421515/

相关文章:

python - 机器学习: Convert array to list of dictionaries

dictionary - YAML:具有空值的字典

.net - 使用 LINQ 比较和检查集合

c# - MySql.Data.MySqlClient 命名空间与 System.Data.OracleClient 命名空间

dictionary - 像谷歌分析一样的世界地图

LINQ Group By 到字典对象中

java - 在 Java 8 中使用 Lambda 遍历一个 Map of Maps?

arrays - 在 VB.NET 中获取字典的长度

c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list

VB.NET 2010 - 用于 FTPS 的 WinSCP 包