C # hashtable su pavyzdžiais

Turinys:

Anonim

Kas yra hashtable C #?

Maišos lentelė yra speciali kolekcija, naudojama raktų vertės daiktams laikyti. Taigi vietoj to, kad saugotumėte tik vieną vertę, pvz., Kaminą, masyvų sąrašą ir eilę, maišos lentelėje saugomos 2 vertės. Šios 2 reikšmės sudaro maišos lentelės elementą.

Žemiau yra keletas pavyzdžių, kaip gali atrodyti maišos lentelės vertės.

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

Aukščiau turime 3 pagrindinių verčių poras. Kiekvieno elemento raktai yra atitinkamai 001, 002 ir 003. Kiekvienos raktų vertės poros reikšmės yra atitinkamai „.Net“, „C #“ ir „ASP.Net“.

Pažvelkime į „Hashtable“ kolekcijos operacijas išsamiau.

Hashtable deklaracija

„Hashtable“ deklaracija parodyta žemiau. „Hashtable“ sukuriamas naudojant „Hashtable“ duomenų tipą. „Naujas“ raktinis žodis naudojamas kuriant „Hashtable“ objektą. Tada objektas priskiriamas kintamajam ht.

Hashtable ht = new Hashtable()

Elementų pridėjimas prie „Hashtable“

Pridėjimo metodas naudojamas elementui pridėti prie eilės. Toliau pateikiama bendroji teiginio sintaksė

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

1 pavyzdys:

Atminkite, kad kiekvieną maišos lentelės elementą sudaro 2 reikšmės: vienas yra raktas, o kitas - vertė.

Pažiūrėkime, kad tai veikia kodo lygiu. Visas žemiau nurodytas kodas bus parašytas konsolės programoje.

Kodas bus įrašytas į mūsų programą.cs. Žemiau esančioje programoje parašysime kodą, kad pamatytume, kaip galime naudoti minėtus metodus.

Šiuo metu savo pavyzdyje mes tiesiog pažvelgsime, kaip mes galime sukurti „hashtable“, pridėti elementų prie „hashtable“ ir atitinkamai juos rodyti.

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

Kodo paaiškinimas: -

  1. Pirmiausia, skelbiame „hashtable“ kintamąjį naudodami „Hashtable“ duomenų tipą, naudodami raktinį žodį „New“. Kintamojo pavadinimas apibrėžiamas kaip „ht“.
  2. Tada pridėkite elementus prie maišos lentelės naudodami metodą Pridėti. Atminkite, kad ką nors pridėdami prie grotažymės turime pridėti ir pagrindinį, ir vertės elementą.
  3. Nėra tiesioginio būdo rodyti maišos lentelės elementus.
  • Norėdami parodyti „hashtable“, pirmiausia turime gauti raktų sąrašą (001, 002 ir 003) iš maišos lentelės.
  • Tai daroma per „ICollection“ sąsają. Tai yra specialus duomenų tipas, kuris gali būti naudojamas „hashtable“ rinkinių raktams saugoti. Tada priskiriame „hashtable“ kolekcijos raktus kintamajam „keys“.
  1. Toliau kiekvienai rakto vertei susietą reikšmę gauname hashtable naudodami teiginį ht [k].

Jei aukščiau nurodytas kodas įvestas tinkamai ir programa vykdoma, bus rodoma tokia išvestis.

Išvestis:

Pažvelkime į dar keletą maišos lentelių metodų.

Sudėtyje yra raktas

Šis metodas naudojamas norint patikrinti, ar raktas yra „Hashtable“. Žemiau pateikiama bendra šio teiginio sintaksė. Pareiškimas grįš teisinga, jei raktas egzistuoja, priešingu atveju jis grąžins vertę klaidinga.

Hashtable.Containskey(key)

ContainsValue

Šis metodas naudojamas norint patikrinti, ar „Hashtable“ yra vertė. Žemiau pateikiama bendra šio teiginio sintaksė. Pareiškimas grįš teisinga, jei reikšmė egzistuoja, priešingu atveju ji grąžins vertę klaidinga.

Hashtable.ContainsValue(value)

2 pavyzdys:

Pakeiskime „Console“ programos kodą, kad parodytume, kaip galime naudoti „Containskey“ ir „ContainsValue“ metodus.

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

Kodo paaiškinimas: -

  1. Pirma, mes naudojame metodą „ContainsKey“, kad pamatytume, ar raktas yra „hashtable“. Šis metodas bus teisingas, jei raktas yra „hashtable“. Šis metodas turėtų būti teisingas, nes raktas egzistuoja „hashtable“.
  2. Tada mes naudojame metodą „ContainsValue“, kad pamatytume, ar vertė yra „hashtable“. Šis metodas grąžins „tiesa“, nes reikšmė egzistuoja „hashtable“.

Jei aukščiau nurodytas kodas įvestas tinkamai ir programa vykdoma, bus rodoma tokia išvestis.

Išvestis:

Iš išvesties galite aiškiai pamatyti, kad raktas ir ieškoma vertė yra maišos lentelėje.

Santrauka

  • „Hashtable“ yra naudojamas elementams, kuriuos sudaro pagrindinių reikšmių poros, saugoti. Norėdami pasiekti elemento vertę, turite žinoti elemento raktą.