اطبع المفاتيح والبيانات الخاصة بـ Hashtable في 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 ^ د
لقد وجدت أيضًا أن هذا سيعمل أيضًا.
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