0

我有一个存储下拉数据的字典,我想添加一个 all 选项,但我希望这是集合中的第一个条目,以便在构建 HTML 时它的顺序正确。

显而易见的解决方案是将 All 选项添加到新字典中,然后遍历项目:

Dim ListWithALL As Dictionary(Of Integer, String)
ListWithALL.Add(0, "All")
For Each option As KeyValuePair(Of Integer, String) In OptionsList
    ListWithALL.add(option)
Next
OptionsList = ListWithALL
ListWithALL.dispose()

但我真的不喜欢这个解决方案,因为它看起来有点长的路要走,而且性能很差。

我还考虑过使用 IComparable 之类的东西并对数据进行排序,但我不希望其他数据与添加它们的顺序相同。

有人有什么想法吗?

4

1 回答 1

1

您不能将项目添加到 a 中的任何“位置” Dictionary<TKey,TValue>,因为它没有排序。

如果您需要确保顺序,请使用SortedDictionary<Tkey,TValue>- 它是按键顺序排序的,因此如果您希望将项目放在开头,则需要使用会从头开始排序的键。

于 2013-02-22T11:38:14.473 回答