在c#中是否有类似c ++ map的结构?我有一组像这样的数字:
1.234 1
5.789 0
3.445 1
...
我需要根据第一列中的最小数字对数据进行排序,但我需要第一列数字与第二列中每个受尊重的数字保持一致。所以在排序后它看起来像这样:
1.234 1
3.445 1
5.789 0
...
有什么想法吗?
答案 0 :(得分:8)
SortedDictionary<Double,Int>
答案 1 :(得分:3)
以下是备注:
可以检索每个键/值对 作为KeyValuePair(TKey,TValue) 结构,或作为DictionaryEntry 通过非泛型IDictionary 接口
只要密钥必须是不可变的 用作键中的键 SortedDictionary(TKey,TValue)。一切 SortedDictionary中的键(TKey, TValue)必须是独一无二的。钥匙不能 是一个空引用(在Visual中没有 基本),但值可以,如果 值类型TValue是引用类型。
SortedDictionary(TKey,TValue) 需要比较器实现 进行关键比较。您可以 指定一个实现 IComparer(T)通用接口 使用接受a的构造函数 比较参数;如果你不 指定一个实现,默认 通用比较器Comparer(T).Default 用来。如果类型TKey实现了 System.IComparable(T)泛型 接口,默认比较器使用 那个实现。
您也可以尝试SortedList。