C# hashtabell med exempel
Vad är Hashtable i C#?
En hashtabell är en speciell samling som används för att lagra nyckel-värde objekt. Så istället för att bara lagra ett värde som stack, arraylista och kö, lagrar hashtabellen 2 värden. Dessa 2 värden utgör ett element i hashtabellen.
Nedan finns några exempel på hur värden i en hashtabell kan se ut.
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
Ovan har vi 3 nyckelvärdespar. Nycklarna för varje element är 001, 002 respektive 003. Värdena för varje nyckelvärdespar är ". Net", "C#" och "ASP.Net" respektive.
Låt oss titta på de funktioner som är tillgängliga för Hashtable-samlingen mer detaljerat.
Deklaration av hashtabellen
Deklarationen av en hashtabell visas nedan. En hashtabell skapas med hjälp av hashable datatypen. Nyckelordet "nya" används för att skapa ett objekt i en hashtabell. Objektet tilldelas sedan variabeln ht.
Hashtable ht = new Hashtable()
Lägga till element i hashtabellen
Add-metoden används för att lägga till ett element till kö. Den allmänna syntaxen för uttalandet ges nedan
HashTable.add("key","value")
Exempel 1:
Kom ihåg att varje element i hashtabellen består av 2 värden, ett är nyckeln och det andra är värdet.
Låt oss nu se att det här fungerar på kodnivå. All ovan nämnda kod kommer att skrivas till vår konsolapplikation.
Koden kommer att skrivas till vår Program.cs-fil. I programmet nedan kommer vi att skriva koden för att se hur vi kan använda de ovan nämnda metoderna.
För nu i vårt exempel kommer vi bara att titta på hur vi kan skapa en hashtabell , lägga till element i hashtabellen 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:-
- Först deklarerar vi hashable-variabeln med hjälp av hashable-datatypen genom att använda nyckelordet "New". Namnet på variabeln som definierar är 'ht'.
- 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.
- Det finns inget direkt sätt att visa elementen i en hashtabell.
- För att visa hashtabellen måste vi först hämta listan med nycklar (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 hashbar samling. Vi tilldelar sedan hashtabellsamlingens nycklar till variabeln 'nycklar'.
- Nästa för varje nyckelvärde får vi det associerade värdet i hashtabellen genom att använda satsen ht[k].
Om ovanstående kod anges korrekt och programmet körs kommer följande utdata att visas.
Produktion:
Låt oss titta på några fler tillgängliga metoder för hashtabeller.
Innehåller nyckel
Denna metod används för att se om en nyckel finns i hashtabellen. Nedan är den allmänna syntaxen för detta uttalande. Satsen returnerar true om nyckeln finns, annars returnerar den värdet false.
Hashtable.Containskey(key)
InnehållerVärde
Denna metod används för att se om ett värde finns i hashtabellen. Nedan är den allmänna syntaxen för detta uttalande. Satsen kommer att returnera sant om värdet finns, annars returnerar det värdet false.
Hashtable.ContainsValue(value)
Exempel 2:
Låt oss ändra koden i vår Konsolapplikation för att visa upp hur vi kan använda metoderna "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:-
- Först använder vi ContainsKey-metoden för att se om nyckeln finns i hashtabellen. Denna metod kommer att returnera sant om nyckeln finns i hashtabellen. Denna metod bör returnera sant eftersom nyckeln finns i hashtabellen.
- Vi använder sedan ContainsValue-metoden för att se om värdet finns i hashtabellen. Denna metod kommer att returnera "true" eftersom värdet finns i hashtabellen.
Om ovanstående kod anges korrekt och programmet körs kommer följande utdata att visas.
Produktion:
Från utgången kan du tydligt se att både nyckeln och värdet som söks upp finns i hashtabellen.
Sammanfattning
En hashtabell används för att lagra element som består av nyckelvärdespar. För att komma åt värdet på ett element måste du känna till elementets nyckel.