Распечатайте ключи и данные Hashtable в C # .NET 1.1

StackOverflow https://stackoverflow.com/questions/34879

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top