"> Hashtable در سی شارپ | آموزش سی شارپ | ام اس پی سافت

Hashtable در سی شارپ

Hashtable در سی شارپ

در این مقاله، در رابطه با  Hashable در سی شارپ و نحوه ی استفاده از یک HashTable در سی شارپ خواهید آموخت.تا پایان مقاله همراه ما باشید.

Hashtable در سی شارپ

کلاس C# Hashtable یک جدول هش را در سی شارپ  نشان می دهد. جدول هش مجموعه ای از جفت های کلید مقدار است که بر اساس کد هش کلید در مجموعه ذخیره شده اند.

C# HashTable یک مجموعه ی generic  است. مشابه با مجموعه ی دیکشنری generic که در فضای نام System.Collection.Generics قرار گرفته، می باشد.

در این مقاله، کلاس C# HashTable، متدهای کلاس HashTable، خصوصیات کلاس HashTable و نحوه ی استفاده از آن ها در کد سی شارپ خود را بررسی می کنیم.
کلاس HashTable دارای ۱۶ نوع مختلف از سازنده ها، مانند (HashTable()، HashTable(IDictionary و …، می باشد.

خصوصیات کلاس HashTable

در اینجا فهرستی از خصوصیات کلاس HashTable آورده شده است،

متدهای کلاس HashTable

در اینجا فهرستی از متدهای کلاس HashTable آمده است،

HashTable

مثال :

مقداردهی اولیه ی HashTable

قطعه کد زیر یک HashTable که در آن نوع مقدار، یک رشته می باشد، ایجاد می کند.

Hashtable ht = new Hashtable();  

مثال ۱ :

افزودن عناصر به یک HashTable

قطعه کد زیر آیتم ها را به یک مجموعه ی HashTable اضافه می کند.

NumberHashtable.Add(1, "One");
NumberHashtable.Add(2, "Two");  
NumberHashtable.Add(3, "Three");  
Console.WriteLine("--Number Hashtable--");  
//The Hashtable is a collection. We can use the foreach loop to go through all the items and read them using they Key and Value properties.  
foreach (DictionaryEntry item in NumberHashtable)  
{  
   Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");  
}  

خروجی

Hashtable در سی شارپ

مثال ۲:
قطعه کد زیر یک HashTable که نوع مقدار در آن <List<string است، ایجاد میکند.

Hashtable ContryNameHashtable = new Hashtable();  
  
 //The following code snippet creates a list where collection of contry name alphabet wise  
 List<string> ContryNameStartWith_A = new List<string> { "Afghanistan", "Albania", "Algeria", "Andorra" };  
 List<string> ContryNameStartWith_B = new List<string> { "Bahamas", "Bahrain", "Bangladesh", "Barbados" };  
 List<string> ContryNameStartWith_C = new List<string> { "Cambodia", "Cameroon", "Canada", "Cape Verde" };  
  
 // The following code snippet adds items to the Hashtable.   
 ContryNameHashtable.Add('A', ContryNameStartWith_A);  
 ContryNameHashtable.Add('B', ContryNameStartWith_B);  
 ContryNameHashtable.Add('C', ContryNameStartWith_C);  
 Console.WriteLine("--Alphabet Wise Country Name--");  
 //The Hashtable is a collection. We can use the foreach loop to go through all the items and read them using they Key and Value properties.  
 foreach (DictionaryEntry item in ContryNameHashtable)  
 {  
    List<string> countrysName = ContryNameHashtable[item.Key] as List<string>;  
    Console.WriteLine($"Alphabet: {item.Key}, --> Contry Name: {string.Join(", ", countrysName)}");  
 }  

خروجی

مثال ۳:

public class StudentInfo  
{  
      public string Name { get; set; }  
      public string Gender { get; set; }  
      public string Standard { get; set; }  
      public int Total { get; set; }  
}  

قطعه کد زیر یک HashTable که نوع کلید در آن ( int ( Student Roll Number و نوع مقدار در آن کلاس تعریف شده توسط کاربر StudentInfo می باشد، ایجاد میکند.

Hashtable StudentInfoHashtable = new Hashtable();  
  
//The following code snippet creates a list where the collection of student information.  
StudentInfo student1 = new StudentInfo() { Name = "Emma", Gender = "Female", Standard = "10", Total = 506 };  
StudentInfo student2 = new StudentInfo() { Name = "Liam", Gender = "Male", Standard = "12", Total = 600 };  
StudentInfo student3 = new StudentInfo() { Name = "Noah", Gender = "Male", Standard = "09", Total = 550 };  
StudentInfo student4 = new StudentInfo() { Name = "Olivia", Gender = "Female", Standard = "08", Total = 685 };  
StudentInfo student5 = new StudentInfo() { Name = "Ava", Gender = "Female", Standard = "11", Total = 605 };  
StudentInfo student6 = new StudentInfo() { Name = "Oliver", Gender = "Male", Standard = "10", Total = 700 };  
  
// The following code snippet adds items to the Hashtable.   
StudentInfoHashtable.Add(1, student1);  
StudentInfoHashtable.Add(2, student2);  
StudentInfoHashtable.Add(3, student3);  
StudentInfoHashtable.Add(4, student4);  
StudentInfoHashtable.Add(5, student5);  
StudentInfoHashtable.Add(6, student6);  
  
Console.WriteLine("--Student Information Hashtable--");  
  
Console.WriteLine("-----------Student Information-----------");  
  
//The Hashtable is a collection. We can use the foreach loop to go through all the items and read them using the Key and Value properties.  
foreach (DictionaryEntry item in StudentInfoHashtable)  
{  
   StudentInfo StudentInfo = StudentInfoHashtable[item.Key] as StudentInfo;  
  
   Console.WriteLine($"Roll No: {item.Key}");  
   Console.Write($"Name: {StudentInfo.Name}");  
   Console.Write($", Gender: {StudentInfo.Gender}");  
   Console.Write($", Standard: {StudentInfo.Standard}");  
   Console.WriteLine($", Total: {StudentInfo.Total}");  
   Console.WriteLine("-------------------------------------------------------");  
}  

خروجی

Hashtable در سی شارپ

مثال :

شبیه سازی یک HashTable

قطعه کد زیر، HashTable را از “NumberHashtable” در “cloneHashtable” شبیه سازی میکند.

Hashtable cloneHashtable = NumberHashtable.Clone() as Hashtable;  
  
Console.WriteLine("--Example of Clone Hashtable--");  
Console.WriteLine("--Number Hashtable--");  
//The Hashtable is a collection. We can use the foreach loop to go through all the items and read them using they Key and Value properties.  
foreach (DictionaryEntry item in NumberHashtable)  
{  
   Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");  
}  
Console.WriteLine("--Clone Number Hashtable--");  
//The Hashtable is a collection. We can use the foreach loop to go through all the items and read them using they Key and Value properties.  
foreach (DictionaryEntry item in cloneHashtable)  
{  
   Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");  
}  

خروجی

Hashtable در سی شارپ

مثال Contains()
قطعه کد زیر بررسی میکند که آیا Key/Value در Number HashTable حضور دارد یا خیر؟

Console.WriteLine("--Example of Contains()--");  
Console.WriteLine($"Is the key 'One' present in NumberHashtable?: {NumberHashtable.Contains("Ten")}");  
Console.WriteLine($"Is the key '1' present in NumberHashtable?: {NumberHashtable.Contains(1)}");  
Console.WriteLine("--Example of ContainsKey()--");  
Console.WriteLine($"Is the key '1' present in NumberHashtable?: {NumberHashtable.ContainsKey(1)}");  
Console.WriteLine($"Is the key '10' present in NumberHashtable?: {NumberHashtable.ContainsKey(10)}");  
Console.WriteLine("--Example of ContainsValue()--");  
Console.WriteLine($"Is the value 'Ten' present in NumberHashtable?: {NumberHashtable.ContainsValue("Ten")}");  
Console.WriteLine($"Is the value 'One' present in NumberHashtable?: {NumberHashtable.ContainsValue("One")}");  

خروجی

Hashtable در سی شارپ

مثال  synchronized()
قطعه کد زیر Hashtable را از “NumberHashtable” در “synchronizedNumberHashtable” همگام سازی میکند.

Hashtable synchronizedNumberHashtable = Hashtable.Synchronized(NumberHashtable);  
  
// print the status of both Hashtables   
Console.WriteLine("NumberHashtable Hashtable is {0}.",NumberHashtable.IsSynchronized ? "synchronized" : "not synchronized");  
  
Console.WriteLine("synchronizedNumberHashtable Hashtable is {0}.",synchronizedNumberHashtable.IsSynchronized ? "synchronized" : "not synchronized");  

خروجی

مثال Count و Clear()
قطعه کد زیر HashTable را شمارش و پاکسازی میکند.

Console.WriteLine($"Before 'NumberHashtable.Clear()' Number of items in NumberHashtable= {NumberHashtable.Count}");  
NumberHashtable.Clear();  
Console.WriteLine($"After 'NumberHashtable.Clear()' Number of items in NumberHashtable= {NumberHashtable.Count}");  

خروجی

Hashtable - C#

  • پسورد: www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کد تخفیف daneshjo-98 با ۵۰٪ تخفیف به مناسبت روز دانشجو