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: -
- 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'.
- 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.
- 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.
- 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: -
- 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.
- 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.