C # Hashtable с примери

Съдържание:

Anonim

Какво е Hashtable в C #?

Хеш таблицата е специална колекция, която се използва за съхраняване на елементи ключ-стойност. Така че, вместо да съхранява само една стойност като стека, списъка с масиви и опашката, хеш таблицата съхранява 2 стойности. Тези 2 стойности формират елемент от хеш таблицата.

По-долу са дадени някои примери за това как могат да изглеждат стойностите на хеш таблица.

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

По-горе имаме 3 двойки ключови стойности. Ключовете на всеки елемент са съответно 001, 002 и 003. Стойностите на всяка двойка ключови стойности са съответно ".Net", "C #" и "ASP.Net".

Нека разгледаме по-подробно операциите, достъпни за колекцията Hashtable.

Декларация на Hashtable

Декларацията за Hashtable е показана по-долу. Hashtable се създава с помощта на Hashtable Datatype. Ключовата дума "new" се използва за създаване на обект на Hashtable. След това обектът се присвоява на променливата ht.

Hashtable ht = new Hashtable()

Добавяне на елементи към Hashtable

Методът Add се използва за добавяне на елемент към опашката. Общият синтаксис на изявлението е даден по-долу

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

Пример 1:

Не забравяйте, че всеки елемент от хеш таблицата се състои от 2 стойности, едната е ключът, а другата е стойността.

Сега нека видим как това работи на ниво код. Всички по-долу споменати кодове ще бъдат записани в нашето приложение за конзола.

Кодът ще бъде записан в нашия файл Program.cs. В програмата по-долу ще напишем кода, за да видим как можем да използваме гореспоменатите методи.

Засега в нашия пример просто ще разгледаме как можем да създадем хеш-таблица, да добавим елементи към хеш-таблицата и да ги покажем съответно.

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

Обяснение на кода: -

  1. Първо, декларираме променливата на hashtable, използвайки типа данни на Hashtable, като използваме ключовата дума "New". Името на дефинираната променлива е 'ht'.
  2. След това добавяме елементи към хеш таблицата, използвайки метода Add. Не забравяйте, че трябва да добавим и ключ, и елемент на стойност, когато добавяме нещо към хеш-таблицата.
  3. Няма директен начин за показване на елементите на хеш таблица.
  • За да покажем хеш-таблицата, първо трябва да вземем списъка с ключове (001, 002 и 003) от хеш-таблицата.
  • Това става чрез интерфейса ICollection. Това е специален тип данни, който може да се използва за съхраняване на ключовете на колекции с хеш. След това присвояваме ключовете на колекцията за хеширане на променливата „ключове“.
  1. След това за всяка ключова стойност получаваме свързаната стойност в хеш-таблицата, като използваме израза ht [k].

Ако горният код е въведен правилно и програмата се изпълни, ще се покаже следният изход.

Изход:

Нека разгледаме още няколко метода, налични за хеш таблици.

СъдържаКлюч

Този метод се използва, за да се види дали в Hashtable има ключ. По-долу е даден общият синтаксис на това твърдение. Операторът ще върне true, ако ключът съществува, в противен случай ще върне стойността false.

Hashtable.Containskey(key)

Съдържа стойност

Този метод се използва, за да се види дали в Hashtable има стойност. По-долу е даден общият синтаксис на това твърдение. Операторът ще върне true, ако Стойността съществува, в противен случай ще върне стойността false.

Hashtable.ContainsValue(value)

Пример 2:

Нека променим кода в нашето приложение Console, за да покажем как можем да използваме метода „Containskey“ и „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();}}}

Обяснение на кода: -

  1. Първо, използваме метода ContainsKey, за да видим дали ключът присъства в хеш-таблицата. Този метод ще върне вярно, ако ключът присъства в хеш-таблицата. Този метод трябва да върне true, тъй като ключът съществува в хеш-таблицата.
  2. След това използваме метода ContainsValue, за да видим дали стойността присъства в хеш-таблицата. Този метод ще върне „true“, тъй като Стойността съществува в хеш-таблицата.

Ако горният код е въведен правилно и програмата се изпълни, ще се покаже следният изход.

Изход:

От изхода можете ясно да видите, че както ключът, така и стойността, която се търси, присъстват в хеш таблицата.

Обобщение

  • Hashtable се използва за съхраняване на елементи, които се състоят от двойки ключови стойности. За да получите достъп до стойността на елемент, трябва да знаете ключа на елемента.