اطبع المفاتيح والبيانات الخاصة بـ 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 ^ د

لقد وجدت أيضًا أن هذا سيعمل أيضًا.

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