2009-12-08 24 views
0

在c#中是否有像C++ map这样的结构?我有这样一组数字:C#,有没有地图结构?

1.234 1
5.789 0
3.445 1
...

当我需要在一列基础上编号最小的数据进行排序,但我需要列第一列的数字来保留第二列中的每个尊重数字。因此,排序后它应该是这样的:

1.234 1
3.445 1
5.789 0
...

任何想法?

回答

3

SortedDictionary

这里有备注:

每个键/值对可以检索 作为KeyValuePair(TKEY的,TValue) 结构,或作为DictionaryEntry 通过非通用IDictionary 接口。

只要键在 SortedDictionary(TKey,TValue)中用作键,键必须是不可变的。 SortedDictionary中的每个 键(TKey, TValue)必须是唯一的。密钥不能为 为空引用(基本没有Visual ),但值可以是,如果值类型为TValue的是 是引用类型。

SortedDictionary(TKey,TValue) 要求比较器实现至 执行关键比较。您可以使用构造函数 指定 IComparer(T)通用接口的实现方案 ,该构造方法接受 比较器参数;如果您没有指定一个实现 ,则使用默认的 通用比较器Comparer(T).Default 。如果类型TKey实现了 System.IComparable(T)通用接口 ,则默认比较器使用 该实现。

您也可以尝试SortedList以及。

+0

你知道它说'©2009 Microsoft Corporation。保留所有权利.'在这些页面的底部。 – 2009-12-08 04:21:56

+1

我怀疑微软抱怨他们受版权保护的帮助文档中的明确引用的引用的可能性很小...... – fyjham 2009-12-08 04:33:50