Operativsystem: .............................................................
Operativsystem: .............................................................
Operativsystem: .............................................................
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
værdien ”erik jensen”? beregner systemet hashkoden og går direkte til index 155!! På den måde<br />
fungerer en Hashtable meget hurtigere end en almindelig tabel!!<br />
Modsat en almindelig tabel gemmes data i en hashtable altid som et par af en key og en value (lige<br />
som en ordbog eller en telefonliste med navn (key) og telefonnummer (value)). Som value kan<br />
anvendes alle objekter også fx en ArrayList! En hashtable er altså meget fleksibel og anvendelig til<br />
at gemme data systematisk!<br />
Følgende eksempel på anvendelsen af en hash tabel anvender metoder fra System.IO (filer) som vi<br />
vil gennemgå på et senere tidspunkt. Programmet opretter en række keys (fil navne) og tilsvarende<br />
values (filernes tekstindhold) – hvilket giver en meget hurtig tilgang til disse filtekster bagefter!:<br />
// eksempel paa en Hashtable<br />
using System;<br />
using System.Collections;<br />
using System.IO;<br />
class MainClass<br />
{<br />
private static Hashtable tabel;<br />
}<br />
public static void Main(string[] args)<br />
{<br />
tabel=new Hashtable();<br />
DirectoryInfo dir=new DirectoryInfo(@"C:\csharp\csfiler");<br />
FileInfo[] filer=dir.GetFiles();<br />
StreamReader reader=null;<br />
string indhold=null;<br />
foreach(FileInfo fil in filer){<br />
reader=File.OpenText(fil.FullName);<br />
indhold=reader.ReadToEnd();<br />
reader.Close();<br />
}<br />
//læg data ind i vores hashtabel: key – value:<br />
tabel.Add(fil.Name,indhold);<br />
}<br />
Console.WriteLine("Indtast filnavn:");<br />
string sv=Console.ReadLine();<br />
//tabel[sv] udskriver den value som svarer til key ’sv’:<br />
if(tabel.Contains(sv)){<br />
Console.WriteLine(tabel[sv]);<br />
}<br />
else Console.WriteLine("Filen findes ikke i hash tabellen!");<br />
HashTable indeholder også nyttige metoder og properties som:<br />
if(tabel.ContainsValue(”...”))<br />
tabel.Remove(key-streng)<br />
tabel.Count<br />
tabel.IsReadOnly=true