在 C# .NET 1.1 中打印出哈希表的键和数据
题
我需要调试一些使用哈希表来存储来自各个线程的响应的旧代码。
我需要一种方法来遍历整个哈希表并打印出哈希表中的键和数据。
如何才能做到这一点?
解决方案
foreach(string key in hashTable.Keys)
{
Console.WriteLine(String.Format("{0}: {1}", key, hashTable[key]));
}
其他提示
我喜欢:
foreach(DictionaryEntry entry in hashtable)
{
Console.WriteLine(entry.Key + ":" + entry.Value);
}
public static void PrintKeysAndValues( Hashtable myList ) {
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
Console.WriteLine( "\t-KEY-\t-VALUE-" );
while ( myEnumerator.MoveNext() )
Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value);
Console.WriteLine();
}
从: http://msdn.microsoft.com/en-us/library/system.collections.hashtable(VS.71).aspx
这应该适用于框架的几乎每个版本......
foreach (string HashKey in TargetHash.Keys)
{
Console.WriteLine("Key: " + HashKey + " Value: " + TargetHash[HashKey]);
}
技巧是您可以获得给定哈希的键(或值)的列表/集合以进行迭代。
编辑:哇,你尝试稍微美化一下你的代码,接下来你就会知道有 5 个答案......8^D
我还发现这也行得通。
System.Collections.IDictionaryEnumerator enumerator = hashTable.GetEnumerator();
while (enumerator.MoveNext())
{
string key = enumerator.Key.ToString();
string value = enumerator.Value.ToString();
Console.WriteLine(("Key = '{0}'; Value = '{0}'", key, value);
}
谢谢您的帮助。
不隶属于 StackOverflow