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

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

黄舟
Freigeben: 2017-05-07 10:17:14
Original
1731 Leute haben es durchsucht

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);
    }
Nach dem Login kopieren

Häufig verwendeteAttribute

Name Beschreibung
Comparer Ruft den IEqualityComparer 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 Dictionary 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 Dictionary enthält.
Values ​​​​Ruft eine Sammlung mit den Werten in Dictionary 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 Dictionary.
ContainsKey Bestimmt, ob Dictionary den angegebenen Schlüssel enthält.
ContainsValue Bestimmt, ob Dictionary 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 Dictionary 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 Dictionary 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 Dictionary.
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage