C # Hashtable med exempel

Innehållsförteckning:

Anonim

Vad är Hashtable i C #?

En hash-tabell är en speciell samling som används för att lagra nyckel-värdeposter. Så istället för att bara lagra ett värde som stack, array-lista och kö, lagrar hash-tabellen 2 värden. Dessa två värden utgör ett element i hashtabellen.

Nedan följer några exempel på hur värden i en hashtabell kan se ut.

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

Ovan har vi tre viktiga värdepar. Nycklarna för varje element är 001, 002 respektive 003. Värdena för varje nyckelvärdepar är ".Net", "C #" respektive "ASP.Net".

Låt oss titta på de funktioner som finns tillgängliga för Hashtable-samlingen mer detaljerat.

Hashtable-förklaring

Förklaringen om en Hashtable visas nedan. En Hashtable skapas med hjälp av Hashtable Datatype. Det "nya" nyckelordet används för att skapa ett objekt av en Hashtable. Objektet tilldelas sedan variabeln ht.

Hashtable ht = new Hashtable()

Lägga till element i Hashtable

Metoden Lägg till används för att lägga till ett element i kön. Uttalandets allmänna syntax ges nedan

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

Exempel 1:

Kom ihåg att varje element i hashtabellen består av två värden, en är nyckeln och den andra är värdet.

Låt oss nu se att detta fungerar på kodnivå. All koden nedan kommer att skrivas till vår konsolapplikation.

Koden kommer att skrivas till vår Program.cs-fil. I nedanstående program skriver vi koden för att se hur vi kan använda de ovan nämnda metoderna.

För närvarande i vårt exempel kommer vi bara att titta på hur vi kan skapa en hashtable, lägga till element i hashtable och visa dem därefter.

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

Kodförklaring: -

  1. Först förklarar vi hashtable-variabeln med hjälp av datatypen Hashtable med nyckelordet "New" Namnet på variabeln definierar är 'ht'.
  2. Vi lägger sedan till element i hashtabellen med hjälp av Add-metoden. Kom ihåg att vi måste lägga till både ett nyckel- och värdeelement när vi lägger till något i hashtabellen.
  3. Det finns inget direkt sätt att visa elementen i en hash-tabell.
  • För att visa hashtabellen måste vi först hämta listan över tangenter (001, 002 och 003) från hashtabellen.
  • Detta görs via ICollection-gränssnittet. Detta är en speciell datatyp som kan användas för att lagra nycklarna till en hashtabelsamling. Vi tilldelar sedan nycklarna till den hashtabla samlingen till variabeln "tangenter".
  1. Nästa för varje nyckelvärde får vi det associerade värdet i hashtabellen med uttalandet ht [k].

Om koden ovan anges korrekt och programmet körs visas följande utdata.

Produktion:

Låt oss titta på några fler tillgängliga metoder för hash-tabeller.

Innehåller nyckel

Denna metod används för att se om en nyckel finns i Hashtable. Nedan följer den allmänna syntaxen för detta uttalande. Uttalandet kommer att returnera sant om nyckeln finns, annars returnerar värdet falskt.

Hashtable.Containskey(key)

Innehåller Värde

Denna metod används för att se om ett värde finns i Hashtable. Nedan följer den allmänna syntaxen för detta uttalande. Uttalandet kommer att returnera sant om värdet existerar, annars returnerar det värdet falskt.

Hashtable.ContainsValue(value)

Exempel 2:

Låt oss ändra koden i vår konsolapplikation för att visa hur vi kan använda metoden "Containskey" och "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();}}}

Kodförklaring: -

  1. Först använder vi ContainsKey-metoden för att se om nyckeln finns i hashtabellen. Den här metoden återgår till sant om nyckeln finns i hashtabellen. Den här metoden ska vara sant eftersom nyckeln finns i hashtabellen.
  2. Vi använder sedan ContainsValue-metoden för att se om värdet finns i hashtabellen. Den här metoden returnerar 'true' eftersom värdet finns i hashtabellen.

Om koden ovan anges korrekt och programmet körs visas följande utdata.

Produktion:

Från utgången kan du tydligt se att både nyckeln och värdet som söks finns i hashtabellen.

Sammanfattning

  • En Hashtable används för att lagra element som består av nyckelvärdenpar. För att få tillgång till värdet av ett element måste du känna till elementets nyckel.