C# Hashtable ja esimerkkejä

Mikä on Hashtable C#:ssa?

Hajautustaulukko on erityinen kokoelma, jota käytetään avainarvokohteiden tallentamiseen. Joten sen sijaan, että tallennettaisiin vain yksi arvo, kuten pino, taulukkoluettelo ja jono, hash-taulukko tallentaa 2 arvoa. Nämä 2 arvoa muodostavat tiivistetaulukon elementin.

Alla on esimerkki siitä, miltä hash-taulukon arvot voivat näyttää.

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

Yllä on 3 avainarvoparia. Kunkin elementin näppäimet ovat 001, 002 ja 003. Kunkin avainarvoparin arvot ovat ". Net", "C#" ja "ASP.Net".

Katsotaanpa tarkemmin Hashtable-kokoelmaan käytettävissä olevia toimintoja.

Hashtablen julistus

Hashtable-ilmoitus näkyy alla. Hashtable luodaan Hashtable-tietotyypin avulla. "Uusi" avainsanaa käytetään luomaan Hashtable-objekti. Objekti liitetään sitten muuttujaan ht.

Hashtable ht = new Hashtable()

Elementtien lisääminen Hashtable-taulukkoon

Lisää-menetelmää käytetään elementin lisäämiseen jono. Lausunnon yleinen syntaksi on annettu alla

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

Esimerkki 1:

Muista, että hash-taulukon jokainen elementti koostuu kahdesta arvosta, joista toinen on avain ja toinen arvo.

Katsotaan nyt tämän toimivan kooditasolla. Kaikki alla mainittu koodi kirjoitetaan konsolisovellukseemme.

Koodi kirjoitetaan Program.cs-tiedostoomme. Alla olevaan ohjelmaan kirjoitamme koodin nähdäksemme kuinka voimme käyttää yllä mainittuja menetelmiä.

Toistaiseksi esimerkissämme tarkastellaan vain, kuinka voimme luoda hashtable , lisätä elementtejä hashtableille ja näyttää ne vastaavasti.

Hashtable C#:ssa

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();
   }
 }
}

Koodin selitys: -

  1. Ensin määritetään hashtable-muuttuja käyttämällä Hashtable-tietotyyppiä käyttämällä avainsanaa "Uusi". Määrittämän muuttujan nimi on 'ht'.
  2. Lisäämme sitten elementtejä hash-taulukkoon Add-menetelmällä. Muista, että meidän on lisättävä sekä avain- että arvoelementti, kun lisäämme jotain hash-taulukkoon.
  3. Ei ole suoraa tapaa näyttää hash-taulukon elementtejä.
  • Jotta tiivistetaulukko voidaan näyttää, meidän on ensin hankittava avainluettelo (001, 002 ja 003) hash-taulukosta.
  • Tämä tehdään ICollection-liittymän kautta. Tämä on erityinen tietotyyppi, jota voidaan käyttää hashtable-kokoelmien avainten tallentamiseen. Määritämme sitten hashtable-kokoelman avaimet muuttujalle "avaimet".
  1. Seuraavaksi jokaiselle avainarvolle saamme siihen liittyvän arvon hash-taulukossa käyttämällä käskyä ht[k].

Jos yllä oleva koodi on syötetty oikein ja ohjelma ajetaan, näyttöön tulee seuraava tulos.

lähtö:

Hashtable C#:ssa

Katsotaanpa joitain muita käytettävissä olevia menetelmiä hash-taulukoissa.

Sisältää avaimen

Tätä menetelmää käytetään tarkistamaan, onko avain läsnä hash-taulukossa. Alla on tämän lausunnon yleinen syntaksi. Lauseke palauttaa tosi, jos avain on olemassa, muuten se palauttaa arvon false.

Hashtable.Containskey(key)

Sisältää Arvon

Tätä menetelmää käytetään tarkistamaan, onko arvo tiivistetaulukossa. Alla on tämän lausunnon yleinen syntaksi. Lauseke palauttaa tosi, jos arvo on olemassa, muuten se palauttaa arvon false.

Hashtable.ContainsValue(value)

Esimerkki 2:

Muutetaan koodi meidän Konsolisovellus esitelläksemme, kuinka voimme käyttää "Containskey"- ja "ContainsValue"-menetelmiä.

Hashtable C#:ssa

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();
   }
 }
}

Koodin selitys: -

  1. Ensin käytämme ContainsKey-menetelmää nähdäksemme, onko avain läsnä hash-taulukossa. Tämä menetelmä palauttaa tosi, jos avain on läsnä hash-taulukossa. Tämän menetelmän pitäisi palauttaa tosi, koska avain on olemassa hash-taulukossa.
  2. Käytämme sitten ContainsValue-menetelmää nähdäksemme, onko arvo läsnä hash-taulukossa. Tämä menetelmä palauttaa arvon "true", koska arvo on olemassa hash-taulukossa.

Jos yllä oleva koodi on syötetty oikein ja ohjelma ajetaan, näyttöön tulee seuraava tulos.

lähtö:

Hashtable C#:ssa

Tulosteesta näet selvästi, että sekä avain että haettava arvo ovat läsnä hash-taulukossa.

Yhteenveto

Hashtablea käytetään elementtien tallentamiseen, joka koostuu avainarvopareista. Jotta voit käyttää elementin arvoa, sinun on tiedettävä elementin avain.