Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in den Beispielcode der Dictionary-Wörterbuchklasse in C#

Einführung in den Beispielcode der Dictionary-Wörterbuchklasse in C#

黄舟
黄舟Original
2017-05-07 10:17:141647Durchsuche

Erklärung
Muss den Namespace System.Collection.Generic enthalten
Jedes Element im Wörterbuch ist ein Schlüssel-Wert-Paar (bestehend aus zwei Elementen: Schlüssel und Wert)
Das Der Schlüssel muss eindeutig sein, aber der Wert muss nicht eindeutig sein.
Sowohl der Schlüssel als auch der Wert können von einem beliebigen Typ sein (zum Beispiel: Zeichenfolge, int, benutzerdefinierter Typ usw.)
Durch einen Schlüssel Die Zeit zum Lesen eines Werts liegt nahe bei O(1)
Die Teilreihenfolge zwischen Schlüssel-Wert-Paaren muss nicht definiert werden

Mit der Methode :

    //定义
    Dictionary<string, string> openWith = new Dictionary<string, string>();
 

    //添加元素
    openWith.Add("txt", "notepad.exe");
    openWith.Add("bmp", "paint.exe");
    openWith.Add("dib", "paint.exe");
    openWith.Add("rtf", "wordpad.exe");
 

    //取值
    Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);
 

    //更改值
    openWith["rtf"] = "winword.exe";
    Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);
 

    //遍历key
    foreach (string key in openWith.Keys)
    {
        Console.WriteLine("Key = {0}", key);
    }
 

    //遍历value
    foreach (string value in openWith.Values)
    {
        Console.WriteLine("value = {0}", value);
    }

    //遍历value, Second Method
    Dictionary<string, string>.ValueCollection valueColl = openWith.Values;
    foreach (string s in valueColl)
    {
        Console.WriteLine("Second Method, Value = {0}", s);
    }

 

    //遍历字典
    foreach (KeyValuePair<string, string> kvp in openWith)
    {
        Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
    }
 

    //添加存在的元素
    try
    {
        openWith.Add("txt", "winword.exe");
    }
    catch (ArgumentException)
    {
        Console.WriteLine("An element with Key = \"txt\" already exists.");
    }
 

    //删除元素
    openWith.Remove("doc");
    if (!openWith.ContainsKey("doc"))
    {
        Console.WriteLine("Key \"doc\" is not found.");
    }
 
    //判断键存在
    if (openWith.ContainsKey("bmp")) // True 
    {
        Console.WriteLine("An element with Key = \"bmp\" exists.");
    }

    //参数为其它类型 
    Dictionary<int, string[]> OtherType = new Dictionary<int, string[]>();
    OtherType.Add(1, "1,11,111".Split(&#39;,&#39;));
    OtherType.Add(2, "2,22,222".Split(&#39;,&#39;));
    Console.WriteLine(OtherType[1][2]);
 

//参数为自定义类型

//首先定义类

    class DouCube
    {
        public int Code { get { return _Code; } set { _Code = value; } } private int _Code;
        public string Page { get { return _Page; } set { _Page = value; } } private string _Page;
    } 

    //然后声明并添加元素
    Dictionary<int, DouCube> MyType = new Dictionary<int, DouCube>();
    for (int i = 1; i <= 9; i++)
    {
        DouCube element = new DouCube();
        element.Code = i * 100;
        element.Page = "http://www.doucube.com/" + i.ToString() + ".html";
        MyType.Add(i, element);
    }

    //遍历元素
    foreach (KeyValuePair<int, DouCube> kvp in MyType)
    {
        Console.WriteLine("Index {0} Code:{1} Page:{2}", kvp.Key, kvp.Value.Code, kvp.Value.Page);
    }

Häufig verwendeteAttribute

Name Beschreibung
Comparer Ruft den IEqualityComparer8742468051c85b06f0a0af9e3e506b5c ab, der verwendet wird, um zu bestimmen, ob Schlüssel im Wörterbuch vorhanden sind gleich.
                                                                              , um die Anzahl der Schlüssel/Wert-Paare zu ermitteln enthalten im Dictionaryb6842da76bed01162354d37c4f2d3464 Item Ruft den mit dem angegebenen Schlüssel verknüpften Wert ab oder legt diesen fest. Keys Ruft eine Sammlung ab, die die Schlüssel in Dictionaryb6842da76bed01162354d37c4f2d3464 enthält.
Values ​​​​Ruft eine Sammlung mit den Werten in Dictionaryb6842da76bed01162354d37c4f2d3464 ab.

Gemeinsame Methoden
Name Beschreibung
Hinzufügen Fügt den angegebenen Schlüssel und Wert zum Wörterbuch hinzu.
Clear Entfernt alle Schlüssel und Werte aus Dictionaryb6842da76bed01162354d37c4f2d3464.
ContainsKey Bestimmt, ob Dictionaryb6842da76bed01162354d37c4f2d3464 den angegebenen Schlüssel enthält.
ContainsValue Bestimmt, ob Dictionaryb6842da76bed01162354d37c4f2d3464 einen bestimmten Wert enthält.
Equals(Object) Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Von Object geerbt.)
Finalisieren Ermöglicht einem Objekt, zu versuchen, Ressourcen freizugeben und andere Bereinigungsvorgänge durchzuführen, bevor es von der Garbage Collection zurückgefordert wird. (Von Object geerbt.)
GetEnumerator Gibt einen Enumerator zurück, der Dictionaryb6842da76bed01162354d37c4f2d3464 durchläuft.
GetHashCode wird als Hash-Funktion eines bestimmten Typs verwendet. (Von Object geerbt.)
GetObjectData Implementiert die System.Runtime.Serialization.ISerializable-Schnittstelle und gibt die zum Serialisieren der Dictionaryb6842da76bed01162354d37c4f2d3464 erforderlichen Daten zurück.
GetType Ruft den Typ der aktuellen Instanz ab. (Von Object geerbt.)
MemberwiseClone Erstellt eine flache Kopie des aktuellen Objekts. (Von Object geerbt.)
OnDeserialization Implementiert die System.Runtime.Serialization.ISerializable-Schnittstelle und löst ein Deserialisierungsereignis aus, nachdem die Deserialisierung abgeschlossen ist.
Entfernen Entfernt den Wert des angegebenen Schlüssels aus Dictionaryb6842da76bed01162354d37c4f2d3464.
ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
TryGetValue Ruft den mit dem angegebenen Schlüssel verknüpften Wert ab.

Das obige ist der detaillierte Inhalt vonEinführung in den Beispielcode der Dictionary-Wörterbuchklasse in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn