Распечатайте ключи и данные хэш-таблицы в C# .NET 1.1

Мне нужно отладить старый код, который использует Hashtable для хранения ответов от различных потоков.

Мне нужен способ просмотреть всю Hashtable и распечатать как ключи, так и данные в Hastable.

Как это может быть сделано?


person David Basarab    schedule 29.08.2008    source источник


Ответы (5)


Мне нравится:

foreach(DictionaryEntry entry in hashtable)
{
    Console.WriteLine(entry.Key + ":" + entry.Value);
}
person Jake Pearson    schedule 29.08.2008
comment
Console.WriteLine(entry.Key + : + entry.Value); // отсутствует закрывающая скобка - person Jeremy Cron; 16.03.2009


   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

person Dinah    schedule 29.08.2008

Это должно работать практически для каждой версии фреймворка...

foreach (string HashKey in TargetHash.Keys)
{
   Console.WriteLine("Key: " + HashKey + " Value: " + TargetHash[HashKey]);
}

Хитрость заключается в том, что вы можете получить список/набор ключей (или значений) данного хеша для повторения.

РЕДАКТИРОВАТЬ: Ничего себе, вы пытаетесь немного украсить свой код, и следующее, что вы знаете, это 5 ответов... 8 ^ D

person Dillie-O    schedule 29.08.2008

Я также обнаружил, что это тоже сработает.

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);
}

Спасибо за помощь.

person David Basarab    schedule 29.08.2008

person    schedule
comment
@Pellet, ты должен уметь... (from string key in hashTable.Keys select new { key, hashTable[key] }) - person Travis Peterson; 11.04.2017