zoukankan      html  css  js  c++  java
  • C#中的Dictionary

    在C#中,Dictionary提供快速的基于兼职的元素查找。当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间中。

    在使用前,你必须声明它的键类型和值类型。

    详细说明
    必须包含名空间System.Collection.Generic 
    Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 
    键必须是唯一的,而值不需要唯一的 
    键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 
    通过一个键读取一个值的时间是接近O(1) 
    键值对之间的偏序可以不定义 
    创建和初始化一个Dictionary对象
    Dictionary<int,string> myDictionary = new Dictionary<int, string="">(); 
    添加键

    C# Dictionary用法总结

    1、用法1: 常规用

      增加键值对之前需要判断是否存在该键,如果已经存在该键而且不判断,将抛出异常。所以这样每次都要进行判断,很麻烦,在备注里使用了一个扩展方法

    public static void DicSample1()
    {
     
        Dictionary<String, String> pList = new Dictionary<String, String>();
        try
        {
            if (pList.ContainsKey("Item1") == false)
            {
                pList.Add("Item1""ZheJiang");
            }
            if (pList.ContainsKey("Item2")== false)
            {
                pList.Add("Item2""ShangHai");
            }
            else
            {
                pList["Item2"] = "ShangHai";
            }
            if (pList.ContainsKey("Item3") == false)
            {
                pList.Add("Item3""BeiJiang");
            }
             
        }
        catch (System.Exception e)
        {
            Console.WriteLine("Error: {0}", e.Message);
        }
       
     
        //判断是否存在相应的key并显示
        if (pList.ContainsKey("Item1"))
        {
            Console.WriteLine("Output: " + pList["Item1"]);
        }
     
        //遍历Key
        foreach (var key in pList.Keys)
        {
            Console.WriteLine("Output Key: {0}", key);
        }
     
        //遍历Value
        foreach (String value in pList.Values)
        {
            Console.WriteLine("Output Value: {0}", value);
        }
        //遍历Key和Value
        foreach (var dic in pList)
        {
            Console.WriteLine("Output Key : {0}, Value : {1} ", dic.Key, dic.Value);
        }
    }
  • 相关阅读:
    Ubuntu14.04升级cmake版本的方法
    在ubuntu16.04-32bits 下编译vlc和vlc-qt开源项目
    从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS
    如何使用Heartbeat,组建一个高可用性的mysql集群
    VLC和Qt结合编写流媒体rtsp播放器
    How to Analyze "Deadlocked Schedulers" Dumps?---WINDBG
    sqlserver-kit.org
    SQLSERVER ----improvedk
    sql server博客
    分享]国外最新安全推文整理
  • 原文地址:https://www.cnblogs.com/pin621/p/2821900.html
Copyright © 2011-2022 走看看