我想知道如何在C# 4.0中存储键/值对?
例如,在Java中,使用HashTable
或HashMap
来存储键/值对,但是在C#中该如何实现呢?
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);
}
Saravanan
Java中的Map与C#中的Dictionary类似(或多或少)...当然,你会想要泛型版本。
这个(快速浏览)看起来是一个不错的例子。http://www.dotnetperls.com/dictionary-lookup
另外,你可能还想看一下:http://www.25hoursaday.com/CsharpVsJava.html ...我发现它对于在C#中提高速度非常有帮助。
干杯。 Keith.
intMap["Two"]
。由于强类型化,你将获得一个int
类型的对象,而使用 Hashtable 时只会获得一个object
类型的对象。 - Rudi Visser