C# Hashtable s příklady
Co je Hashtable v C#?
Hašovací tabulka je speciální kolekce, která se používá k ukládání položek klíč–hodnota. Takže namísto ukládání pouze jedné hodnoty, jako je zásobník, seznam polí a fronta, hashovací tabulka ukládá 2 hodnoty. Tyto 2 hodnoty tvoří prvek hash tabulky.
Níže je několik příkladů, jak mohou hodnoty hashovací tabulky vypadat.
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
Výše máme 3 páry klíčových hodnot. Klíče každého prvku jsou 001, 002 a 003. Hodnoty každého páru klíč-hodnota jsou „. Čistá“, „C#“ a „ASP.Net“.
Podívejme se na operace dostupné pro kolekci Hashtable podrobněji.
Deklarace hashtable
Deklarace hashtable je uvedena níže. Hashtable je vytvořen pomocí Hashtable Datatype. Klíčové slovo „new“ se používá k vytvoření objektu hashtable. Objekt je pak přiřazen k proměnné ht.
Hashtable ht = new Hashtable()
Přidávání prvků do hashtable
Metoda Add se používá k přidání prvku do fronta. Obecná syntaxe příkazu je uvedena níže
HashTable.add("key","value")
Příklad 1:
Pamatujte, že každý prvek hash tabulky se skládá ze 2 hodnot, jedna je klíč a druhá hodnota.
Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší konzolové aplikace.
Kód bude zapsán do našeho souboru Program.cs. V níže uvedeném programu napíšeme kód, abychom viděli, jak můžeme použít výše uvedené metody.
Prozatím se v našem příkladu podíváme na to, jak můžeme vytvořit hashtable , přidat prvky do hashtable a podle toho je zobrazit.
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(); } } }
Vysvětlení kódu:-
- Nejprve deklarujeme proměnnou hashtable pomocí datového typu Hashtable pomocí klíčového slova „New“. Název proměnné, kterou definuje, je 'ht'.
- Prvky pak do hashovací tabulky přidáme pomocí metody Add. Pamatujte, že při přidávání něčeho do hashtable musíme přidat klíčový i hodnotový prvek.
- Neexistuje žádný přímý způsob, jak zobrazit prvky hash tabulky.
- Abychom mohli zobrazit hashtable , musíme nejprve získat seznam klíčů (001, 002 a 003) z tabulky hash.
- To se provádí prostřednictvím rozhraní ICollection. Jedná se o speciální datový typ, který lze použít k uložení klíčů sbírek hashtable. Klíče kolekce hashtable pak přiřadíme proměnné 'keys'.
- Dále pro každou hodnotu klíče získáme přidruženou hodnotu v hashovací tabulce pomocí příkazu ht[k].
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Podívejme se na některé další metody dostupné pro hashovací tabulky.
ContainsKey
Tato metoda se používá ke zjištění, zda je klíč přítomen v hashtable. Níže je obecná syntaxe tohoto příkazu. Příkaz vrátí true, pokud klíč existuje, jinak vrátí hodnotu false.
Hashtable.Containskey(key)
ObsahujeValue
Tato metoda se používá ke zjištění, zda je v hashtable přítomna hodnota. Níže je obecná syntaxe tohoto příkazu. Příkaz vrátí true, pokud Hodnota existuje, jinak vrátí hodnotu false.
Hashtable.ContainsValue(value)
Příklad 2:
Pojďme změnit kód v našem Konzolová aplikace abychom předvedli, jak můžeme použít metody „Containskey“ a „ContainsValue“.
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(); } } }
Vysvětlení kódu:-
- Nejprve použijeme metodu ContainsKey, abychom zjistili, zda je klíč přítomen v hashovací tabulce. Tato metoda vrátí hodnotu true, pokud je klíč přítomen v hashtable. Tato metoda by měla vrátit hodnotu true, protože klíč v hashtable existuje.
- Poté použijeme metodu ContainsValue, abychom zjistili, zda je hodnota přítomna v hashovací tabulce. Tato metoda vrátí 'true', protože hodnota v hashtable existuje.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Z výstupu můžete jasně vidět, že klíč i hodnota jsou v hashovací tabulce přítomny.
Shrnutí
Hashtable se používá k ukládání prvků, které se skládají z párů klíč-hodnota. Chcete-li získat přístup k hodnotě prvku, musíte znát klíč prvku.