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.

Hashtable v C#

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 proměnnou hashtable pomocí datového typu Hashtable pomocí klíčového slova „New“. Název proměnné, kterou definuje, je 'ht'.
  2. 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.
  3. 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'.
  1. 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:

Hashtable v C#

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“.

Hashtable v C#

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

Hashtable v C#

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.