在vb.net中是否有一种方法可以对字典中的键进行排序

在vb.net中是否有一种方法可以对字典中的键进行排序,vb.net,Vb.net,假设我想在每个键上对每个键执行操作,我希望字母顺序较小的键(如“BR”)首先显示 有没有办法做到这一点 或者dictionary是严格的密钥对象对吗?我找到了这个链接作为解决方案 基本上,将键插入列表,然后对该列表进行排序,然后根据该列表进行枚举 我复制粘贴示例代码 Sub Main() ' Create Dictionary with string keys. Dim dict As New Dictionary(Of String, Integer) dict.Add("dog", 0)

假设我想在每个键上对每个键执行操作,我希望字母顺序较小的键(如“BR”)首先显示

有没有办法做到这一点


或者dictionary是严格的密钥对象对吗?

我找到了这个链接作为解决方案

基本上,将键插入列表,然后对该列表进行排序,然后根据该列表进行枚举

我复制粘贴示例代码

Sub Main()
' Create Dictionary with string keys.
Dim dict As New Dictionary(Of String, Integer)
dict.Add("dog", 0)
dict.Add("cat", 1)
dict.Add("mouse", 5)
dict.Add("eel", 3)
dict.Add("programmer", 2)

' Get list of keys.
Dim keys As List(Of String) = dict.Keys.ToList

' Sort the keys.
keys.Sort()

' Loop over the sorted keys.
Dim str As String
For Each str In keys
    Console.WriteLine("{0} -> {1}", str, dict.Item(str))
Next
End Sub

钥匙没有任何特殊的顺序。如果需要,可以使用SortedDictionary。另外,如果不关心这个特定循环的性能,只需调用键上的
OrderBy
,迭代结果,并将其索引到字典中即可。信息技术这是在循环中排序的成本和始终保持整个字典排序之间的折衷。