تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

آموزش مقدماتی تا پیشرفته سی شارپ بخش پنجاه و هفتم


بنام اول برنامه نویس هستی (الله)

 

آموزش مقدماتی تا پیشرفته سی شارپ بخش پنجاه و هفتم

آموزش مقدماتی تا پیشرفته سی شارپ بخش پنجاه و هفتم

سلام به همه کاربران وبسایت بزرگ لندلرن

قسمت پنجاه و هفتم


جستجو در هش تیبل:

جستجو در يك Hashtable بسيار سريع انجام مي شود. زيرا صرفنظر از نوع عنصري كه در اين جدول ذخيره مي كنيد، يـك عدد صحيح كوچك به عنوان شناسه عنصر در نظر گرفته مي شود .

در امتحان كنيد بعد، نحـوه اسـتفاده از Hashtable هـا را مشاهده خواهيم كرد .

نكته: عدد صحيحي كه براي ذخيره شناسه ي يك كليد در Hashtable به كار مي رود فقط ۴ بايت از حافظه را اشغال مـي كند. بنابراين اگر رشته اي شا مل ۱۰۰ كاراكتر را كه ۲۰۰ بايت فضا اشغال مي كند به عنوان كليد در نظر بگيريـد، بـراي جـستجو در جدول فقط اعداد ۴ بايتي با يكديگر مقايسه مي شوند كه باعث افزايش سرعت مي شود .

امتحان كنيد: استفاده از Hashtable ها

  • ويرايشگر كد را براي فرم باز كرده و تغيير زير را در تعريف متغير objCustomers ايجاد كنيد :
  • به قسمت كدهاي مربوط به تابع CreateCustomer برويد و قطعه کد مـشخص شـده در زيـر را تغيير دهيد :
  • به بخش كد مربوط به متد btnDelete_Click برويد و قطعه کد مشخص شده در زير را در آن تغییر دهید :
  • و همچنین قطعه کد زیر را از برنامه حذف کنید
  • به قسمت طراحي فرم برگرديد و كنترل Button جديدي را به فرم اضافه كنيد . خاصيت Name اين كنترل را برابر با btnLookup و خاصيت Text آن را برابر با Lookup قرار دهيد.
  • فرم شما در اين مرحله بايد مشابه شكل زیر باشد.

  • بر رو ي دكمه ي Lookup دو بار كليك كنيد تا متد مربوط به رويداد Click آن باز شود شود. سپس كدهاي زیر را به آن متد اضافه كنید:
  • برنامه را اجرا كنيد و بر روي دكمه Test كليك كنيـد تـا ليـست از نـام مـشتركين پـر شـود.
  • اگـر يـك آدرس پـست الكترونيكي كه در ليست وجود ندارد را در بخش Email وارد كنيد و بر روي دكمـه Lookup كليـك كنيـد كـادر پيغامي را مشابه شكل زیر مشاهده خواهيد كرد.

  • اگر يك آدرس پست الكترونيكي كه در ليست وجود دارد، بـراي مثـال dhilton@somecompany.com را در قسمت Email وارد كنيد و دكمه Lookup را فشار دهيد مشاهده خواهيد كرد كـه نـام فـرد در كـادر پيغـام نمايش داده مي شود .

چگونه كار مي كند؟

براي ايجاد يك HashTable ،تعريف متغير objCustomers را به صورت زير تغيير مي دهيم :

  • به اين ترتيب نوع داده اي متغير objCustomers ،از نوع HashTable خواهـد بـود و عناصـر ايجـاد شـده در متـد CreateCustomer به جاي ذخيره شدن در ArrayList در يك HashTable ذخيره مي شوند .
  • بر خلاف متدهاي Add كه در برنامه هاي قبلي مشاهده كرديد، متد Add مربوط به HashTable دو پارامتر دريافـت مـي كند. اولين پارامتر عنصر كليد است، كه در اين برنامه از آدرس پست الكترونيكي به عنوان كليد استفاده كـرده ايـم.
  • در اضـافه كـردن يك آيتم به HashTable از هر عنصري مي توانيد به عنوان كليد استفاده كنيد، فقط بايد دقت داشته باشيد كه اين عنصر بايد در آرايه منحصر به فرد باشد و نمي توانيد از يك عنصر به عنوان كليد دو آيـتم در HashTable اسـتفاده كنيـد.
  • در غيـر ايـن صورت برنامه هنگام اجرا با خطا مواجه شده و بسته مي شود.
  • پارامتر دوم اين متد، آيتمي است كه مي خواهيد همراه با ايـن كليـد در HashTable قرار دهيد . به اين ترتيب هر بار كه اين كليد را به HashTable بدهيد، مي توانيد به ايـن آيـتم دسترسـي پيدا كنيد .

 

براي حذف يك آيتم از HashTable بايد كليد آن را كه همان آدرس پست الكترونيكي است مشخص كنيد.

براي دسترسي به اين آيتم مي توانيم همانند دسترسي به عناصر در يك آرايه عمل كنيم و به جاي استفاده از يـك عـدد صـحيح، از كليد كه در اينجا همان آدرس پست الكترونيكي است به عنوان انديس استفاده كنيم :

به پایان بخش پنجاه و هفتم رسیدیم.

به قسمت بعدی بروید           http://www.landlearn.ir/c-sharp-part-58


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ