Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie einen Wert aus der HashTable-Sammlung in C# mithilfe des angegebenen Schlüssels

So erhalten Sie einen Wert aus der HashTable-Sammlung in C# mithilfe des angegebenen Schlüssels

王林
王林nach vorne
2023-08-28 23:09:06693Durchsuche

如何使用指定键从 C# 中的 HashTable 集合中获取值

Eine Hashtabelle ist eine Sammlung von Schlüssel-Wert-Paaren. Mit einem Iterator können wir auf Schlüssel-Wert-Paare zugreifen. Wir können auch auf die Schlüssel der Hashtabelle in einer Sammlung zugreifen. Ebenso können wir auf die Werte in einer Hashtabelle zugreifen. Bei gegebener Hashtabelle ist es auch möglich, auf den Wert eines angegebenen Schlüssels oder einen passenden Schlüssel eines angegebenen Werts zuzugreifen.

让我们讨论一下如何在给定键的哈希表集合中访问一个值.

如何使用指定的键从Hashtable集合中获取值?

Hier müssen wir einen Wert aus dem Schlüssel-Wert-Paar der Hashtabellen erhalten, wenn ein Schlüssel angegeben wird.

考虑以下哈希表.

{“US", "New York"}
{"FR", "Paris"}
{"UK", "London"}
{"IN", "Mumbai"}
{"GER", "Berlin"}

Angenommen, wir müssen den Wert für den Schlüssel „UK“ ermitteln. Wir müssen also die Hashtabelle durchlaufen, um herauszufinden, ob die Hashtabelle den Schlüssel = UK enthält. Sobald der Schlüssel = „UK“ gefunden wurde, können wir auf den entsprechenden Wert als hashtable[key].

zugreifen

Beispiel

Das Programm, das genau den oben genannten Vorgang ausführt, ist unten dargestellt −

using System;
using System.Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create a hashtable instance
      Hashtable Citytable = new Hashtable();

      // Adding key/value pair in the hashtable using Add() method
      Citytable.Add("US", "New York");
      Citytable.Add("FR", "Paris");
      Citytable.Add("UK", "London");
      Citytable.Add("IN", "Mumbai");
      Citytable.Add("GER", "Berlin");
      
      String key;
      Console.WriteLine("Enter the key whose value is to be printed:");
      key = Console.ReadLine();
      if(key != ""){
         if(Citytable.Contains(key) == true){
         string keyval = (string)Citytable[key];
         Console.WriteLine("The value of key {0} = {1}", key,keyval);
      }
      else
         Console.WriteLine ("Value for the key= {0} does not exist", key);
      }    
      Console.ReadKey();
   }
}

在上面的程序中,我们定义了一个哈希表.然后用户输入要获取值的键.一旦键被读取为输入,我们首先确定键是否为null或空.这是因为哈希表的键不应为null.因此,如果用户输入一个空值,我们将不会继续查找值。

因此,如果键不为空,我们将检查哈希表是否包含指定的键.为此,我们使用C#中的哈希表集合方法 Contains() ,如果键存在于哈希表中则返回true, die Antwort lautet „false“.

如果 Contains() wird als true angezeigt, wenn Sie die Antwort erhalten.

string keyval = (string)Citytable[key];

Dann wird dieser Wert dem Benutzer angezeigt.

Ausgabe

Enter the key whose value is to be printed:
FR
The value of key FR = Paris

在这个输出中,用户执行了程序并输入了键值为FR.由于这个键已经存在于哈希表中,该键对应的值成功返回.

现在,如果我们输入一个在哈希表中不存在的键值?

Lassen Sie uns das Programm erneut ausführen. Jetzt haben wir in unserer Hashtabelle keinen Schlüssel für das Land Kanada. Geben wir als Schlüssel CAN für Kanada ein. Die Ausgabe wird unten angezeigt.

Ausgabe

Enter the key whose value is to be printed:
CAN
Value for the key= CAN do not exist

在这里,由于哈希表中不包含 key=CAN,程序返回值不存在的消息.

以这种方式,我们可以开发一个交互式程序,从哈希表集合中找到指定键的值.

Nehmen wir ein weiteres Beispiel, um mithilfe einer Hashtabelle den Wert eines Schlüssels zu ermitteln.

Hier betrachten wir die folgende Hashtabelle, die Zahlen und die entsprechenden Zahlennamen enthält.

{“1.1", "One point One"}
{"1.2", "One point Two"}
{"1.3", "One point Three"}
{"1.4", "One point Four"}
{"1.5", "One point Five"}

类似于前面的示例,这里我们也会要求用户输入要查找值的键,然后在哈希表中搜索指定的键并显示其值.

Beispiel 2

Unten finden Sie das Programm, das dasselbe tut.

using System;
using System.Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create a hashtable instance
      Hashtable Numbernames = new Hashtable();

      // Adding key/value pair in the hashtable using Add() method
      Numbernames.Add("1.1", "One point One");
      Numbernames.Add("1.2", "One point Two");
      Numbernames.Add("1.3", "One point Three");
      Numbernames.Add("1.4", "One point Four");
      Numbernames.Add("1.5", "One point Five");

      String key = "1.4";
      if(key != ""){
          if(Numbernames.Contains(key) == true){
              string keyval = (string)Numbernames[key];
              if(keyval != "")
                 Console.WriteLine("The value of key {0} = {1}", key,keyval);
              else
                 Console.WriteLine("The value for key = {0} does not exist", key);
          }
          else
             Console.WriteLine ("The key= {0} does not exist in the NumberNames hashtable", key);
      }    
      Console.ReadKey();
   }
}

Das Programm ist das gleiche wie im vorherigen Beispiel, mit Ausnahme der Hashtabelle und einer zusätzlichen Bedingung, die wir angegeben haben, um nach einem leeren Wert zu suchen. Dies liegt daran, dass es vorkommen kann, dass ein bestimmter Schlüssel in der Hashtabelle vorhanden ist, der entsprechende Wert jedoch leer ist. Zweitens lesen wir in diesem Programm keine Benutzereingaben, sondern haben direkt einen Schlüssel = „1,4“ verwendet und geben den Wert dieses Schlüssels aus. Deshalb haben wir in diesem Programm einen weiteren Check eingeführt. Daher prüft dieses Programm jetzt −

  • Wenn der angegebene Schlüssel leer ist

  • Wenn der Schlüssel nicht leer ist, prüft das Programm, ob die Hashtabelle den Schlüssel enthält.

  • Wenn die Hashtabelle den Schlüssel enthält, wird der Wert für den Schlüssel abgerufen. Wenn der Wert nicht leer ist, zeigt das Programm den Wert an.

  • Wenn der Wert leer ist, wird die entsprechende Meldung angezeigt.

Ausgabe

The value of key 1.4 = One point Four

Diese Ausgabe wird generiert, wenn wir einen korrekten Schlüssel angeben, der in der Hashtabelle vorhanden ist.

在本文中,我们看到了如何通过键从哈希表集合中获取值.我们还通过几个编程示例展示了不同的输出,以清晰地说明概念.在我们接下来的文章中,我们将继续讨论哈希表的相关主题.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie einen Wert aus der HashTable-Sammlung in C# mithilfe des angegebenen Schlüssels. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen