كيفية العمل مع مجموعة HashTable في Visual Basic .NET أو في Visual Basic 2005

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية307933

في هذه المهمة

الموجز
توفر هذه المقالة معلومات حول مجموعة HashTable. لأن التجزئة يلغي الحاجة للبحث المكلفة البيانات لاسترداد البيانات, يمكنك استخدام التجزئة لاسترداد البيانات بشكل فعال. تجزئة يستخدم قيمة المفتاح نفسه لتحديد موقع البيانات.

توفر "مكتبات فئة معارف" فئة HashTable تم تعريف في مساحة الاسم System.Collections بحيث لم تكن المطلوبة رمز الجداول التجزئة.

back to the top

الخطوات التالية لإنشاء في نموذج

مجموعة HashTable بتخزين زوج (مفتاح ، القيمة) ويستخدم مفتاح التجزئة والحصول على موقع التخزين. مفتاح immutable وهو لا يمكن وجود إدخالات مكررة في HashTable. يستخدم هذا النموذج عدة مثيلات الفئة الشخص بسيطة لتخزين في HashTable. يتم استخدام اسم العائلة على أنه مفتاح.
  1. افتح Microsoft Visual Studio .NET أو Microsoft Visual Studio 2005 ثم إنشاء مشروع تطبيق Windows في Visual Basic .NET أو في Visual Basic 2005. يتم إضافة Form1 إلى المشروع بشكل افتراضي.
  2. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق اسم المشروع ، أشر إلى إضافة ، ثم انقر فوق إضافة فئة لإضافة فئة وحدة نمطية. يتم إضافة Class1 إلى المشروع بشكل افتراضي.
  3. في مربع الحوار إضافة عنصر جديد ، انقر فوق فتح.

    ملاحظة في Visual Studio 2005 ، انقر فوق إضافة بدلاً من فتح.
  4. استبدل أية تعليمات برمجية في الوحدة النمطية Class1 التعليمة البرمجية التالية:
    Public Class Person    Public Fname, Lname As String    Sub New(ByVal FirstName As String, ByVal LastName As String)        Fname = FirstName        Lname = LastName    End Sub    Public Overrides Function ToString() As String        Return Fname + " " + Lname    End FunctionEnd Class						
    تحتوي فئة الأشخاص مُنشئ واحد التي تأخذ المعلمات الاسم الأول "و" اسم العائلة ويقوم بتعيين هذه المعلمات إلى المتغيرات المحلية. يتجاوز الدالة ToStringToString من فئة كائن لإرجاع FnameLname متصلاً معاً.
  5. في Form1.vb ، أضف عبارة عمليات الاستيراد التالية إلى أعلى الوحدة النمطية للتعليمات البرمجية:
    Imports System.Collections					
  6. قم بإنشاء يقوم كائن Hashtable مستوى النموذج ثم التصريح ثلاثة المتغيرات من النوع الشخص. قم بإضافة التعليمات البرمجية التالية إلى فئة Form1:
    Dim MyTable As New Hashtable()'For simplicity, create three Person objects to add to the HashTable collection.Dim Person1, Person2, Person3 As Person  					
  7. في الخطوات التالية استخدام الأسلوب Addيقوم كائن Hashtable إضافة ثلاثة كائنات الشخص إلى Hashtable في كتلة المحاولة catch. كتلة المحاولة catch catches الاستثناء وعرض رسالة في حالة وجود مفاتيح مكررة.
    1. وضع عنصر تحكم زر على Form1 وتغيير الخاصية Text إلى إضافة عناصر.
    2. انقر نقراً مزدوجاً فوق الزر فتح إطار التعليمات البرمجية الخاصة به ثم قم بلصق التعليمة البرمجية التالية في الحدث Button1_Click:
      Person1 = New Person("Karen", "Berge")Person2 = New Person("David", "Campbell")Person3 = New Person("Jim", "Kim")'The Add method takes Key as the first parameter and Value as the second parameter.Try     MyTable.Add(Person1.Lname, Person1)     MyTable.Add(Person2.Lname, Person2)     MyTable.Add(Person3.Lname, Person3)Catch ae As ArgumentException     MessageBox.Show("Duplicate Key")End Try						
  8. يقوم كائن Hashtable يوفر مفهرس. في الخطوات التالية، فهرس المفتاح الوصول إلى القيمة المخزنة في الموقع المجزأة.
    1. إضافة عنصر تحكم زر إلى Form1 وتغيير الخاصية Text إلى إحضار العناصر.
    2. انقر نقراً مزدوجاً فوق الزر ثم قم بلصق التعليمة البرمجية التالية في الحدث Button2_Click:
      'Use the indexer of the Hashtable class to retrieve your objects. The indexer takes 'Key as a parameter and accesses it with the Hashed location.        Try     MessageBox.Show(MyTable(Person1.Lname).ToString)     MessageBox.Show(MyTable(Person2.Lname).ToString)     MessageBox.Show(MyTable(Person3.Lname).ToString)Catch ex As NullReferenceException     MessageBox.Show("Key not in Hashtable")End Try						
  9. في الخطوات التالية، استخدم الطريقة إزالة لإزالة عنصر واحد من مجموعة HashTable:
    1. إضافة عنصر تحكم زر إلى Form1 وتغيير الخاصية Text إلى إزالة العنصر.
    2. انقر نقراً مزدوجاً فوق الزر ثم قم بلصق التعليمة البرمجية التالية في الحدث Button3_Click:
      'Use the Count property.If (MyTable.Count = 0) Then     MessageBox.Show("There are no items in HashTable")Else     MessageBox.Show("The count before removing an Item is" & " " & MyTable.Count)     MessageBox.Show("Removing value stored at key value (Berge)")     'Remove the object that is stored at the Key value Person1.Lname.     MyTable.Remove(Person1.Lname)End If						
  10. في الخطوات التالية تعداد العناصر التي يتم تخزينها في مجموعة HashTable.
    1. إضافة عنصر تحكم زر إلى Form1 وتغيير الخاصية Text إلى التعداد.
    2. انقر نقراً مزدوجاً فوق الزر ثم قم بلصق التعليمة البرمجية التالية في الحدث Button4_Click:
      Dim Enumerator As IDictionaryEnumeratorEnumerator = MyTable.GetEnumerator()If (MyTable.Count = 0) Then     MessageBox.Show("The HashTable is empty")Else     MessageBox.Show("Enumerating through the HashTable collection")     While Enumerator.MoveNext()          MessageBox.Show(Enumerator.Value.ToString())     End WhileEnd IfDim MyKeys As ICollectionDim Key As ObjectIf (MyTable.Count = 0) Then     MessageBox.Show("The HashTable is empty")Else     MessageBox.Show("Accessing keys property to return keys collection")     MyKeys = MyTable.Keys()     For Each Key In MyKeys          MessageBox.Show(Key.ToString)     NextEnd If 							
      التعليمات البرمجية هذا التصريح عن متغيّر نوع IDictionaryEnumerator ومن باستدعاء الأسلوب GetEnumerator للمجموعة HashTable. مع عداد إرجاع ، التعليمة البرمجية تعداد خلال العناصر الموجودة في المجموعة ويستخدم أسلوب مفاتيحHashTable تعداد خلال المفاتيح.
  11. في الخطوات التالية، استخدم الطريقة مسح لمسح HashTable.
    1. إضافة عنصر تحكم زر إلى Form1 وتغيير الخاصية Text إلى مسح.
    2. انقر نقراً مزدوجاً فوق الزر ثم قم بلصق التعليمة البرمجية التالية في الحدث Button5_Click:
      MyTable.Clear()MessageBox.Show("HashTable is now empty")						
  12. اتبع الخطوات التالية لإنشاء التطبيق وتشغيله:
    1. انقر فوق إضافة العناصر. لاحظ أن تتم إضافة ثلاثة كائنات الشخص إلى المجموعة HashTable.
    2. انقر فوق الحصول على العناصر. لاحظ أن المفهرس يحصل على العناصر الموجودة في مجموعة HashTable. إضافة الثلاثة حديثاً يتم عرض العناصر.
    3. انقر فوق إزالة العنصر. لاحظ أنه يتم حذف العنصر في الموقع "كريم" المفتاح.
    4. انقر فوق تعداد. لاحظ تعداد IDictionaryEnumerator خلال العناصر الموجودة في مجموعة HashTable.
    5. انقر فوق مسح. لاحظ أن يتم مسح كافة العناصر من مجموعة HashTable.
ملاحظة: الشركات ، المؤسسات ، منتجات ، أسماء المجال ، عناوين البريد الإلكتروني ، الشعارات ، الأشخاص, ، والأحداث المشار إليها هنا بمثابة وهمية. لا تقترن أي شركة ، المؤسسة ، المنتج, اسم المجال ، عنوان البريد الإلكتروني ، شعار ، الشخص أو أماكن أو أحداث أو ولا يجب التلميح إلى اقتران من هذا النوع.

back to the top
حاول الالتقاط

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 307933 - آخر مراجعة: 12/06/2006 23:18:59 - المراجعة: 3.3

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB307933 KbMtar
تعليقات