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

黄舟
Libérer: 2017-05-07 10:17:14
original
1650 Les gens l'ont consulté

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);
    }
Copier après la connexion

Couramment utiliséAttributs

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

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 Dictionnaire.
ContainsKey Détermine si Dictionary
ContainsValue Détermine si Dictionary
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 Dictionary.
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 Dictionary
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 Dictionnaire.
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!