문제

다양한 스레드의 응답을 저장하기 위해 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