C # Hashtable példákkal

Tartalomjegyzék:

Anonim

Mi a hashtable a C # -ben?

A hash tábla egy speciális gyűjtemény, amelyet kulcsértékű elemek tárolására használnak. Tehát ahelyett, hogy csak egy értéket tárolna, mint a verem, a tömblista és a sor, a hash tábla 2 értéket tárol. Ez a 2 érték a hash tábla elemét képezi.

Az alábbiakban bemutatunk néhány példát arra, hogy hogyan nézhetnek ki egy hash tábla értékei.

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

Fent van 3 kulcsérték párunk. Az egyes elemek kulcsai: 001, 002 és 003. Az egyes kulcsértékpárok értéke ".Net", "C #" és "ASP.Net".

Nézzük meg részletesebben a Hashtable gyűjtemény számára elérhető műveleteket.

A hashtable nyilatkozata

A Hashtable deklarációja az alábbiakban látható. A Hashtable adattípus segítségével létrejön egy Hashtable. Az "új" kulcsszó a Hashtable objektumának létrehozására szolgál. Ezután az objektumot hozzárendelik a ht változóhoz.

Hashtable ht = new Hashtable()

Elemek hozzáadása a Hashtable-hez

Az Add metódussal elemet lehet hozzáadni a sorhoz. Az állítás általános szintaxisa az alábbiakban található

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

1. példa:

Ne feledje, hogy a hash tábla minden eleme 2 értéket tartalmaz, az egyik a kulcs, a másik pedig az érték.

Most nézzük meg, hogy ez kódszinten működik. Az alábbiakban említett összes kódot a Console alkalmazásunkba írjuk.

A kód be lesz írva a Program.cs fájlunkba. Az alábbi programban megírjuk a kódot, hogy lássuk, miként használhatjuk a fent említett módszereket.

Most a példánkban csak megnézzük, hogyan hozhatunk létre hashtable-t, adhatunk hozzá elemeket a hashtable-hez és ennek megfelelően jeleníthetjük meg őket.

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

Kód Magyarázat: -

  1. Először a hashtable változót deklaráljuk a Hashtable adattípus használatával az "Új" kulcsszóval. A definiált változó neve 'ht'.
  2. Ezután az Add metódussal elemeket adunk a hash táblához. Ne feledje, hogy hozzá kell adnunk egy kulcsot és értéket is, amikor valamit hozzáadunk a hashtable-hez.
  3. A hash-tábla elemeinek megjelenítésére nincs közvetlen mód.
  • A hashtable megjelenítéséhez először meg kell szereznünk a (001, 002 és 003) kulcsok listáját a hash táblából.
  • Ez az ICollection felületen keresztül történik. Ez egy speciális adattípus, amely felhasználható egy hashtable gyűjtemény kulcsainak tárolására. Ezután hozzárendeljük a hashtable gyűjtemény kulcsait a 'keys' változóhoz.
  1. Ezután minden kulcsértékhez megkapjuk a társított értéket a hashtable-ben a ht [k] utasítás használatával.

Ha a fenti kódot helyesen adta meg és a program fut, a következő kimenet jelenik meg.

Kimenet:

Nézzünk meg néhány további módszert a hash táblák számára.

ContainKey

Ezt a módszert arra használják, hogy megnézzék, van-e kulcs a Hashtable-ben. Az alábbiakban ennek az állításnak az általános szintaxisa található. Az utasítás igaz lesz, ha a kulcs létezik, különben hamis értéket ad vissza.

Hashtable.Containskey(key)

ContainsValue

Ezt a módszert arra használják, hogy megnézzék, van-e érték a Hashtable-ben. Az alábbiakban ennek az állításnak az általános szintaxisa található. Az utasítás igaz lesz, ha az Érték létezik, ellenkező esetben hamis értéket ad vissza.

Hashtable.ContainsValue(value)

2. példa:

Változtassuk meg a Console alkalmazás kódját, hogy bemutassuk, hogyan használhatjuk a "Containskey" és a "ContainsValue" módszert.

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

Kód Magyarázat: -

  1. Először a ContainsKey metódust használjuk annak ellenőrzésére, hogy a kulcs szerepel-e a hashtable-ben. Ez a módszer igaz lesz, ha a kulcs megtalálható a hashtable-ben. Ennek a metódusnak igaznak kell lennie, mivel a kulcs létezik a hashtable-ben.
  2. Ezután a ContainsValue metódust használjuk annak ellenőrzésére, hogy az érték szerepel-e a hashtable-ben. Ez a módszer igaz értéket ad vissza, mivel az Érték valóban létezik a hashtable-ben.

Ha a fenti kódot helyesen adta meg és a program fut, a következő kimenet jelenik meg.

Kimenet:

A kimenetből jól látható, hogy a keresett kulcs és érték egyaránt megtalálható a hash-táblában.

Összegzés

  • A Hashtable-t olyan elemek tárolására használják, amelyek kulcsérték-párokat tartalmaznak. Az elem értékének eléréséhez ismernie kell az elem kulcsát.