我想知道如何在C#4.0中存储键/值对?
例如,在用于存储键/值对的Java HashTable
或HashMap
中..但我如何在C#中执行此操作?
答案 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#中获得最高速度非常有帮助。
干杯。基思。