C# .NET 1.1에서 해시테이블의 키와 데이터를 인쇄합니다.
문제
다양한 스레드의 응답을 저장하기 위해 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);
}
도와 주셔서 감사합니다.
제휴하지 않습니다 StackOverflow