C # Hashtable s příklady

Obsah:

Anonim

Co je Hashtable v C #?

Tabulka hash 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, hash tabulka ukládá 2 hodnoty. Tyto 2 hodnoty tvoří prvek hash tabulky.

Níže uvádíme několik příkladů, jak mohou vypadat hodnoty hash tabulky.

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

Nahoř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 hodnot klíčů jsou „.Net“, „C #“ a „ASP.Net“.

Podívejme se na operace dostupné pro kolekci Hashtable podrobněji.

Prohlášení Hashtable

Deklarace hashtable je uvedena níže. Hashtable je vytvořen pomocí datového typu Hashtable. Klíčové slovo „new“ se používá k vytvoření objektu Hashtable. Objekt je poté přiřazen k proměnné ht.

Hashtable ht = new Hashtable()

Přidávání prvků do Hashtable

Add metoda se používá k přidání prvku do fronty. Obecná syntaxe příkazu je uvedena níže

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

Příklad 1:

Nezapomeňte, že každý prvek hash tabulky obsahuje 2 hodnoty, jedna je klíčem a druhá je hodnotou.

Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší aplikace Console.

Kód bude zapsán do našeho souboru Program.cs. V níže uvedeném programu napíšeme kód, abychom zjistili, jak můžeme použít výše uvedené metody.

Prozatím se v našem příkladu podíváme jen na to, jak můžeme vytvořit hashtable, přidat do hashtable prvky 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: -

  1. Nejprve deklarujeme hashtable proměnnou pomocí datového typu Hashtable pomocí klíčového slova „New“. Název definované proměnné je „ht“.
  2. Potom přidáme prvky do hash tabulky pomocí metody Add. Pamatujte, že když přidáváme něco do hashtable, musíme přidat klíčový i hodnotový prvek.
  3. Neexistuje žádný přímý způsob zobrazení prvků hash tabulky.
  • Abychom mohli zobrazit hashtable, musíme nejprve získat seznam klíčů (001, 002 a 003) z hash tabulky.
  • To se provádí pomocí rozhraní ICollection. Jedná se o speciální datový typ, který lze použít k uložení klíčů sbírek hashtable. Poté přiřadíme klíče kolekce hashtable k proměnné 'keys'.
  1. Dále pro každou hodnotu klíče získáme přidruženou hodnotu v hashtable 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ěkolik dalších metod dostupných pro hashovací tabulky.

Obsahuje klíč

Tato metoda se používá k ověření, zda je v Hashtable klíč. Níže je uvedena obecná syntaxe tohoto příkazu. Pokud klíč existuje, příkaz vrátí hodnotu true, jinak vrátí hodnotu false.

Hashtable.Containskey(key)

ContainValue

Tato metoda se používá ke zjištění, zda je v Hashtable přítomen Value. Níže je uvedena obecná syntaxe tohoto příkazu. Příkaz vrátí hodnotu true, pokud hodnota existuje, jinak vrátí hodnotu false.

Hashtable.ContainsValue(value)

Příklad 2:

Pojďme změnit kód v naší aplikaci Console, abychom ukázali, jak můžeme použít metodu „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: -

  1. Nejprve pomocí metody ContainsKey zjistíme, zda je klíč v hashtable. Tato metoda vrátí true, pokud je klíč v hashtable. Tato metoda by měla vrátit true, protože klíč v hashtable existuje.
  2. Poté pomocí metody ContainsValue zjistíme, zda je hodnota přítomna v hashtable. Tato metoda vrátí hodnotu „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 jasně vidíte, že prohledávaný klíč i hodnota jsou přítomny v hash tabulce.

souhrn

  • Hashtable se používá k ukládání prvků, které se skládají z párů klíčových hodnot. Chcete-li získat přístup k hodnotě prvku, potřebujete znát klíč prvku.