Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C# Hashtable erklärt: Schlüssel-Wert-Speicher, Operationen und praktische Beispiele

Was ist eine Hashtable in C#?

Hashtable ist eine nicht-generische Collection, die Daten als Schlüssel-Wert-Paare speichert. Im Gegensatz zu Arrays oder Listen, die einen einzelnen Wert pro Index halten, ermöglicht eine Hashtable den direkten Abruf eines Werts über seinen eindeutigen Schlüssel, was eine durchschnittliche O(1)-Lookup-Zeit bietet.

Typische Einträge sehen so aus:

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

Hier sind die Keys "001", "002", "003" und die entsprechenden Werte ".Net", "C#", "ASP.Net".

Im Folgenden tauchen wir in die gängigsten Operationen ein, die Sie mit Hashtable verwenden werden.

Hashtable deklarieren

Instanziieren Sie eine Hashtable mit dem Hashtable-Typ und dem new-Schlüsselwort:

Hashtable ht = new Hashtable();

Elemente hinzufügen

Verwenden Sie die Add-Methode, um ein Schlüssel-Wert-Paar einzufügen. Sowohl Key als auch Value müssen angegeben werden:

ht.Add("001", ".Net");
ht.Add("002", "C#");
ht.Add("003", "ASP.Net");

Beispiel 1 – Alle Werte anzeigen

Die folgende Konsolenanwendung demonstriert das Erstellen einer Hashtable, das Befüllen und das Ausgeben jedes Werts:

C# Hashtable erklärt: Schlüssel-Wert-Speicher, Operationen und praktische Beispiele

using System;
using System.Collections;
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();
        }
    }
}

Erklärung

  1. Hashtable-Variable ht deklarieren.
  2. Schlüssel-Wert-Paare mittels Add hinzufügen.
  3. Schlüsselsammlung via ht.Keys abrufen (gibt ICollection zurück).
  4. Über die Keys iterieren und zugehörigen Wert mit ht[key] ausgeben.

Programmausführung ergibt:

C# Hashtable erklärt: Schlüssel-Wert-Speicher, Operationen und praktische Beispiele

Gängige Methoden

ContainsKey

Prüft, ob ein bestimmter Key existiert:

ht.ContainsKey("001"); // true, wenn Key vorhanden

ContainsValue

Überprüft, ob ein bestimmter Wert in der Hashtable gespeichert ist:

ht.ContainsValue("C#"); // true, wenn Wert gefunden

Beispiel 2 – ContainsKey & ContainsValue verwenden

Unten ein prägnantes Programm, das beide Methoden demonstriert:

C# Hashtable erklärt: Schlüssel-Wert-Speicher, Operationen und praktische Beispiele

using System;
using System.Collections;
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")); // true
            Console.WriteLine(ht.ContainsValue("C#")); // true
            Console.ReadKey();
        }
    }
}

Erklärung

  1. ContainsKey bestätigt das Vorhandensein von "001".
  2. ContainsValue bestätigt, dass "C#" gespeichert ist.

Die Konsole zeigt:

C# Hashtable erklärt: Schlüssel-Wert-Speicher, Operationen und praktische Beispiele

Wichtigste Erkenntnisse

Hashtable speichert Elemente als Schlüssel-Wert-Paare und ermöglicht schnellen Lookup, wenn der Schlüssel bekannt ist. Während generisches Dictionary<TKey, TValue> für Typsicherheit in modernem C# empfohlen wird, bleibt das Verständnis von Hashtable wertvoll für Legacy-Code und Interoperabilitätsszenarien.

C Sprache

  1. C# Ausdrücke, Anweisungen & Blöcke: Umfassender Leitfaden mit Beispielen
  2. C++ do‑while‑Schleife: Syntax, Praxisbeispiele und verschachtelte Schleifen
  3. C++ Zeiger meistern: Konzepte, Beispiele & praktische Anwendungen
  4. C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken
  5. C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
  6. C++-Funktionen erklärt: Mit praktischen Code-Beispielen
  7. C# Collections meistern: Praktisches Tutorial mit Real-World-Beispielen
  8. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  9. Python round()-Funktion erklärt mit praktischen Beispielen
  10. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices