如何在C#(4.0)中存储键/值对?

时间:2011-04-27 09:58:33

标签: c# c#-4.0

我想知道如何在C#4.0中存储键/值对?

例如,在用于存储键/值对的Java HashTableHashMap中..但我如何在C#中执行此操作?

4 个答案:

答案 0 :(得分:23)

如果您知道要存储的特定类型,则可以使用Hashtable类或Dictionary<TKey, TValue>

示例:

// Loose-Type
Hashtable hashTable = new Hashtable();
hashTable.Add("key", "value");
hashTable.Add("int value", 2);
// ...
foreach (DictionaryEntry dictionaryEntry in hashTable) {
    Console.WriteLine("{0} -> {1}", dictionaryEntry.Key, dictionaryEntry.Value);
}

// Strong-Type
Dictionary<string, int> intMap = new Dictionary<string, int>();
intMap.Add("One", 1);
intMap.Add("Two", 2);
// ..
foreach (KeyValuePair<string, int> keyValue in intMap) {
    Console.WriteLine("{0} -> {1}", keyValue.Key, keyValue.Value);
}

答案 1 :(得分:2)

您可以检查Dictionary数据结构,使用string作为密钥类型,以及数据类型对于值类型的任何内容(如果有多种类型的数据项,则可能object)。

答案 2 :(得分:1)

您可以在c#中使用词典查看http://www.dotnetperls.com/dictionary-keys

中的示例

答案 3 :(得分:1)

Saravanan

Java Map等于C#Dictionary(或多或少)......当然,你需要generics版本。

这(快速浏览)看起来像一个不错的例子。 http://www.dotnetperls.com/dictionary-lookup

另外,您可能需要在http://www.25hoursaday.com/CsharpVsJava.html处使用geezer ...我发现它对于在C#中获得最高速度非常有帮助。

干杯。基思。