C # Hashtable พร้อมตัวอย่าง

Hashtable ใน C # คืออะไร?

ตารางแฮชเป็นคอลเลกชันพิเศษที่ใช้ในการจัดเก็บรายการคีย์-ค่า ดังนั้นแทนที่จะจัดเก็บเพียงค่าเดียว เช่น สแต็ก รายการอาร์เรย์ และคิว ตารางแฮชจะเก็บ 2 ค่า ค่า 2 เหล่านี้ประกอบกันเป็นองค์ประกอบของตารางแฮช

ด้านล่างนี้คือตัวอย่างบางส่วนของค่าของตารางแฮชที่อาจมีลักษณะดังนี้

{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }

ด้านบนเรามีคู่ค่าคีย์ 3 คู่ คีย์ของแต่ละองค์ประกอบคือ 001, 002 และ 003 ตามลำดับ ค่าของคู่ค่าคีย์แต่ละคู่คือ “สุทธิ.“, “C#” และ “ASP.Net” ตามลำดับ

มาดูการดำเนินการที่มีให้สำหรับคอลเลกชัน Hashtable อย่างละเอียดเพิ่มเติม

คำประกาศของแฮชเทเบิล

การประกาศ Hashtable แสดงอยู่ด้านล่าง Hashtable ถูกสร้างขึ้นด้วยความช่วยเหลือของประเภทข้อมูล Hashtable คำหลัก "ใหม่" ใช้เพื่อสร้างวัตถุของ Hashtable จากนั้นวัตถุจะถูกกำหนดให้กับตัวแปร ht

Hashtable ht = new Hashtable()

การเพิ่มองค์ประกอบลงใน Hashtable

วิธีการเพิ่มใช้ในการเพิ่มองค์ประกอบให้กับ คิว- ไวยากรณ์ทั่วไปของคำสั่งได้รับด้านล่าง

HashTable.add("key","value")

1 ตัวอย่าง:

โปรดจำไว้ว่าแต่ละองค์ประกอบของตารางแฮชประกอบด้วย 2 ค่า ค่าหนึ่งคือคีย์ และอีกค่าคือค่า

ตอนนี้เรามาดูการทำงานในระดับโค้ดกันดีกว่า โค้ดที่กล่าวถึงด้านล่างทั้งหมดจะถูกเขียนลงในแอปพลิเคชันคอนโซลของเรา

รหัสจะถูกเขียนลงในไฟล์ Program.cs ของเรา ในโปรแกรมด้านล่างเราจะเขียนโค้ดเพื่อดูว่าเราสามารถใช้วิธีการที่กล่าวมาข้างต้นได้อย่างไร

สำหรับตอนนี้ในตัวอย่างของเรา เราจะดูว่าเราจะสร้าง hashtable ได้อย่างไร เพิ่มองค์ประกอบลงใน hashtable และแสดงองค์ประกอบเหล่านั้นตามนั้น

แฮชเทเบิ้ลใน C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Hashtable ht = new Hashtable();
   ht.Add("001",".Net");
   ht.Add("002","C#");
   ht.Add("003","ASP.Net");

   ICollection keys = ht.Keys;

   foreach (String k in keys)
   {
    Console.WriteLine(ht[k]);
   }
    Console.ReadKey();
   }
 }
}

คำอธิบายรหัส:-

  1. ขั้นแรก เราประกาศตัวแปร hashtable โดยใช้ประเภทข้อมูล Hashtable โดยใช้คีย์เวิร์ด "ใหม่" ชื่อของตัวแปรที่กำหนดคือ 'ht'
  2. จากนั้นเราเพิ่มองค์ประกอบลงในตารางแฮชโดยใช้วิธีเพิ่ม โปรดจำไว้ว่าเราจำเป็นต้องเพิ่มทั้งองค์ประกอบคีย์และค่าเมื่อเพิ่มบางอย่างลงในแฮชเทเบิล
  3. ไม่มีวิธีโดยตรงในการแสดงองค์ประกอบของตารางแฮช
  • ในการแสดง hashtable เราต้องรับรายการคีย์ (001, 002 และ 003) จากตารางแฮชก่อน
  • ซึ่งทำได้ผ่านอินเทอร์เฟซ ICollection นี่เป็นประเภทข้อมูลพิเศษที่สามารถใช้เพื่อจัดเก็บคีย์ของคอลเลกชันที่แฮชได้ จากนั้นเราจะกำหนดคีย์ของคอลเลกชันแฮชให้กับตัวแปร 'คีย์'
  1. ถัดไปสำหรับแต่ละค่าคีย์ เราได้รับค่าที่เกี่ยวข้องใน hashtable โดยใช้คำสั่ง ht[k]

หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้

Output:

แฮชเทเบิ้ลใน C#

มาดูวิธีการเพิ่มเติมสำหรับตารางแฮชกัน

ประกอบด้วยคีย์

วิธีการนี้ใช้เพื่อดูว่ามีคีย์อยู่ใน Hashtable หรือไม่ ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้ คำสั่งจะคืนค่าเป็นจริงหากมีคีย์อยู่ มิฉะนั้นจะส่งคืนค่าเท็จ

Hashtable.Containskey(key)

ประกอบด้วยค่า

วิธีการนี้ใช้เพื่อดูว่ามีค่าอยู่ใน Hashtable หรือไม่ ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้ คำสั่งจะส่งกลับค่าจริงหากมีค่าอยู่ มิฉะนั้นจะส่งกลับค่าเท็จ

Hashtable.ContainsValue(value)

2 ตัวอย่าง:

มาเปลี่ยนรหัสในของเรา แอปพลิเคชันคอนโซล เพื่อแสดงให้เห็นว่าเราสามารถใช้เมธอด "Containskey" และ "ContainsValue" ได้อย่างไร

แฮชเทเบิ้ลใน C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Hashtable ht = new Hashtable();
   ht.Add("001",".Net");
   ht.Add("002","C#");
   ht.Add("003","ASP.Net");

   Console.WriteLine(ht.ContainsKey("001"));
   Console.WriteLine(ht.ContainsValue("C#"));
   Console.ReadKey();
   }
 }
}

คำอธิบายรหัส:-

  1. ขั้นแรก เราใช้เมธอด ประกอบด้วยคีย์ เพื่อดูว่าคีย์นั้นมีอยู่ในแฮชเทเบิลหรือไม่ วิธีนี้จะคืนค่าเป็นจริงหากมีคีย์อยู่ในแฮชเทเบิล วิธีการนี้ควรคืนค่าเป็นจริงเนื่องจากมีคีย์อยู่ในแฮชเทเบิล
  2. จากนั้นเราใช้เมธอด ประกอบด้วยค่า เพื่อดูว่ามีค่าอยู่ในแฮชเทเบิลหรือไม่ วิธีนี้จะคืนค่า 'จริง' เนื่องจากค่ามีอยู่ในแฮชเทเบิล

หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้

Output:

แฮชเทเบิ้ลใน C#

จากผลลัพธ์ คุณจะเห็นได้อย่างชัดเจนว่าทั้งคีย์และค่าที่กำลังค้นหามีอยู่ในตารางแฮช

สรุป

Hashtable ใช้เพื่อจัดเก็บองค์ประกอบที่ประกอบด้วยคู่ค่าคีย์ ในการเข้าถึงค่าขององค์ประกอบ คุณจำเป็นต้องทราบคีย์ขององค์ประกอบ