C # Hashtable z przykładami

Spisie treści:

Anonim

Co to jest Hashtable w C #?

Tabela skrótów to specjalna kolekcja używana do przechowywania elementów klucz-wartość. Dlatego zamiast przechowywać tylko jedną wartość, taką jak stos, lista tablic i kolejka, tabela haszująca przechowuje 2 wartości. Te 2 wartości tworzą element tablicy skrótów.

Poniżej znajduje się przykład tego, jak mogą wyglądać wartości tabeli skrótów.

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

Powyżej mamy 3 pary klucz-wartość. Klucze każdego elementu to odpowiednio 001, 002 i 003. Wartości każdej pary klucz-wartość to odpowiednio „.Net”, „C #” i „ASP.Net”.

Przyjrzyjmy się bardziej szczegółowo operacjom dostępnym dla kolekcji Hashtable.

Deklaracja tablicy z haszowaniem

Deklaracja tablicy z haszowaniem jest pokazana poniżej. Hashtable jest tworzony za pomocą typu danych Hashtable. Słowo kluczowe „new” służy do tworzenia obiektu tablicy z haszowaniem. Obiekt jest następnie przypisywany do zmiennej ht.

Hashtable ht = new Hashtable()

Dodawanie elementów do tablicy z haszowaniem

Metoda Add służy do dodawania elementu do kolejki. Ogólna składnia instrukcji jest podana poniżej

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

Przykład 1:

Pamiętaj, że każdy element tablicy skrótów składa się z 2 wartości, jedna to klucz, a druga to wartość.

Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej.

Kod zostanie zapisany w naszym pliku Program.cs. W poniższym programie napiszemy kod, aby zobaczyć, jak możemy wykorzystać wyżej wymienione metody.

Na razie w naszym przykładzie przyjrzymy się tylko, jak możemy utworzyć tablicę haszy, dodać elementy do tablicy hashy i odpowiednio je wyświetlić.

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

Objaśnienie kodu: -

  1. Najpierw deklarujemy zmienną hashtable przy użyciu typu danych Hashtable, używając słowa kluczowego „New”. Nazwa definiowanej zmiennej to „ht”.
  2. Następnie dodajemy elementy do tablicy skrótów za pomocą metody Add. Pamiętaj, że podczas dodawania czegoś do tablicy hashy musimy dodać zarówno klucz, jak i element wartości.
  3. Nie ma bezpośredniego sposobu wyświetlania elementów tablicy skrótów.
  • Aby wyświetlić tablicę haszującą, musimy najpierw pobrać listę kluczy (001, 002 i 003) z tablicy hash.
  • Odbywa się to za pośrednictwem interfejsu ICollection. Jest to specjalny typ danych, który może być używany do przechowywania kluczy kolekcji z możliwością haszowania. Następnie przypisujemy klucze z kolekcji tablicy hashy do zmiennej „keys”.
  1. Następnie dla każdej wartości klucza pobieramy powiązaną wartość w tablicy hashy za pomocą instrukcji ht [k].

Jeśli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlone zostanie następujące wyjście.

Wynik:

Spójrzmy na więcej metod dostępnych dla tabel skrótów.

ContainsKey

Ta metoda służy do sprawdzania, czy klucz jest obecny w tablicy z haszowaniem. Poniżej znajduje się ogólna składnia tego stwierdzenia. Instrukcja zwróci wartość true, jeśli klucz istnieje, w przeciwnym razie zwróci wartość false.

Hashtable.Containskey(key)

ContainsValue

Ta metoda służy do sprawdzania, czy wartość jest obecna w tablicy z haszowaniem. Poniżej znajduje się ogólna składnia tego stwierdzenia. Instrukcja zwróci prawdę, jeśli wartość istnieje, w przeciwnym razie zwróci wartość fałsz.

Hashtable.ContainsValue(value)

Przykład 2:

Zmieńmy kod w naszej aplikacji konsolowej, aby pokazać, jak możemy użyć metody „Containskey” i „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();}}}

Objaśnienie kodu: -

  1. Najpierw używamy metody ContainsKey, aby sprawdzić, czy klucz jest obecny w tablicy hashy. Ta metoda zwróci wartość true, jeśli klucz jest obecny w tablicy hashy. Ta metoda powinna zwrócić wartość true, ponieważ klucz istnieje w tablicy hashy.
  2. Następnie używamy metody ContainsValue, aby sprawdzić, czy wartość jest obecna w tablicy hashy. Ta metoda zwróci wartość „true”, ponieważ wartość istnieje w tablicy hashy.

Jeśli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlone zostanie następujące wyjście.

Wynik:

Na podstawie danych wyjściowych można wyraźnie zobaczyć, że zarówno klucz, jak i szukana wartość znajdują się w tabeli skrótów.

Podsumowanie

  • Hashtable służy do przechowywania elementów składających się z par klucz-wartość. Aby uzyskać dostęp do wartości elementu, musisz znać klucz elementu.