Maison  >  Article  >  développement back-end  >  Introduction à un exemple de code de la classe de dictionnaire Dictionary en C#

Introduction à un exemple de code de la classe de dictionnaire Dictionary en C#

黄舟
黄舟original
2017-05-07 10:17:141701parcourir

Explication
Doit contenir l'espace de noms System.Collection.Generic
Chaque élément du Dictionnaire est une paire clé-valeur (constituée de deux éléments : clé et valeur)
Le la clé doit être unique, mais la valeur n'a pas besoin d'être unique
La clé et la valeur peuvent être de n'importe quel type (par exemple : string, int, type personnalisé, etc.)
Via une clé Le temps de lecture d'une valeur est proche de O(1)
L'ordre partiel entre les paires clé-valeur n'a pas besoin d'être défini

Utilisation de la méthode :

    //定义
    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);
    }

Couramment utiliséAttributs

Nom Description
Comparer Obtient le IEqualityComparer8742468051c85b06f0a0af9e3e506b5c égal. f9a69d4e32d88350024dafe288acce32
Item Obtient ou définit la valeur associée à la clé spécifiée. Keys Obtient une collection contenant les clés dans Dictionaryb6842da76bed01162354d37c4f2d3464. Values ​​​​Obtient une collection contenant les valeurs dans Dictionaryb6842da76bed01162354d37c4f2d3464.

Méthodes courantes
Nom Description
Ajouter Ajoute la clé et la valeur spécifiées au dictionnaire.
Effacer Supprime toutes les clés et valeurs du Dictionnaireb6842da76bed01162354d37c4f2d3464.
ContainsKey Détermine si Dictionaryb6842da76bed01162354d37c4f2d3464
ContainsValue Détermine si Dictionaryb6842da76bed01162354d37c4f2d3464
Equals(Object) Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object.)
Finalize Permet à un objet de tenter de libérer des ressources et d'effectuer d'autres opérations de nettoyage avant le garbage collection. (Hérité de Object.)
GetEnumerator Renvoie un énumérateur qui parcourt Dictionaryb6842da76bed01162354d37c4f2d3464.
GetHashCode est utilisé comme fonction de hachage d'un type spécifique. (Hérité de Object.)
GetObjectData Implémente l'interface System.Runtime.Serialization.ISerializing et renvoie les données requises pour sérialiser l'instance Dictionaryb6842da76bed01162354d37c4f2d3464
GetType Récupère le type de l'instance actuelle. (Hérité de Object.)
MemberwiseClone Crée une copie superficielle de l'objet actuel. (Hérité de Object.)
OnDeserialization Implémente l'interface System.Runtime.Serialization.ISerializing et déclenche un événement de désérialisation une fois la désérialisation terminée.
Supprimer Supprime la valeur de la clé spécifiée du Dictionnaireb6842da76bed01162354d37c4f2d3464.
ToString Renvoie une chaîne représentant l'objet actuel. (Hérité de Object.)
TryGetValue Obtient la valeur associée à la clé spécifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn