ハッシュテーブルを使ってさまざまなスレッドからの応答を保存する古いコードをデバッグする必要があります。C#.NET 1.1のハッシュテーブルのキーとデータを出力する
私はHashtable全体を通り、Hastableの両方のキーとデータを印刷する方法が必要です。
どうすればいいですか?
ハッシュテーブルを使ってさまざまなスレッドからの応答を保存する古いコードをデバッグする必要があります。C#.NET 1.1のハッシュテーブルのキーとデータを出力する
私はHashtable全体を通り、Hastableの両方のキーとデータを印刷する方法が必要です。
どうすればいいですか?
foreach(string key in hashTable.Keys)
{
Console.WriteLine(String.Format("{0}: {1}", key, hashTable[key]));
}
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]);
}
トリックは、あなたがのリスト/コレクションを得ることができるということです反復処理する指定されたハッシュのキー(または値)
EDIT:うわー、あなたは屋が知って少しして次のことは、私もこれはあまりにも動作することがわかった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);
}
ありがとうございました。
私が好き:
foreach(DictionaryEntry entry in hashtable)
{
Console.WriteLine(entry.Key + ":" + entry.Value);
}
Console.WriteLine(entry.Key +": "+ entry.Value); //閉じ括弧がない –
私はLINQでこれを行うには短い方法があった望む...あなたのことができるようにする必要があり@Pellet – Pellet
... '(hashTable.Keys内の文字列キーから[新規]を選択{key、hashTable [key]}) ' –