Мне нужно отладить старый код, который использует Hashtable для хранения ответов от различных потоков.
Мне нужен способ просмотреть всю Hashtable и распечатать как ключи, так и данные в Hastable.
Как это может быть сделано?
Мне нужно отладить старый код, который использует Hashtable для хранения ответов от различных потоков.
Мне нужен способ просмотреть всю Hashtable и распечатать как ключи, так и данные в Hastable.
Как это может быть сделано?
Мне нравится:
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);
}
Спасибо за помощь.
(from string key in hashTable.Keys select new { key, hashTable[key] })
- person Travis Peterson; 11.04.2017