dictionary_dictionarywithobjectsandkeys - CSDN
  • C#中Dictionary的用法

    2019-03-02 18:01:48
    一、Dictionary简介 在C#中,Dictionary提供快速的基于键值的元素查找。他的结构是这样的:Dictionary<[key], [value]> ,当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间...

    一、Dictionary简介

    在C#中,Dictionary提供快速的基于键值的元素查找。他的结构是这样的:Dictionary<[key], [value]> ,当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间中。在使用前,你必须声明它的键类型和值类型。

    1、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成

    2、任何键都必须是唯一的

    3、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值

    4、Key和Value可以是任何类型(string,int,custom class 等)

     

    二、Dictionary常用用法

    以 key 的类型为 int , value的类型为string 为例

     1、创建及初始化
     Dictionary<int,string>myDictionary=newDictionary<int,string>();
     
     2、添加元素
    myDictionary.Add(1,"C#");
    myDictionary.Add(2,"C++");
    myDictionary.Add(3,"ASP.NET");
    myDictionary.Add(4,"MVC");
     
     3、通过Key查找元素
    if(myDictionary.ContainsKey(1))
    {
    Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);
     }
     
     4、通过KeyValuePair遍历元素
    foreach(KeyValuePair<int,string>kvp in myDictionary)
    ...{
    Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);
    }
     
    5、仅遍历键 Keys 属性
    Dictionary<int,string>.KeyCollection keyCol=myDictionary.Keys;
    foreach(intkeyinkeyCol)
    ...{
    Console.WriteLine("Key = {0}", key);
    }
     
    6、仅遍历值 Valus属性
    Dictionary<int,string>.ValueCollection valueCol=myDictionary.Values;
    foreach(stringvalueinvalueCol)
    ...{
    Console.WriteLine("Value = {0}", value);
    }
     
    7、通过Remove方法移除指定的键值
    myDictionary.Remove(1);
    if(myDictionary.ContainsKey(1))
    ...{
    Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);
    }
    else
    {
    Console.WriteLine("不存在 Key : 1"); 

     

    三、其它常见属性和方法的说明:
     
      Comparer:           获取用于确定字典中的键是否相等的 IEqualityComparer。
      Count:                  获取包含在 Dictionary中的键/值对的数目。
      Item:                    获取或设置与指定的键相关联的值。
      Keys:                   获取包含 Dictionary中的键的集合。
      Values:                获取包含 Dictionary中的值的集合。
      Add:                    将指定的键和值添加到字典中。
      Clear:                  从 Dictionary中移除所有的键和值。
      ContainsKey:      确定 Dictionary是否包含指定的键。
      ContainsValue:   确定 Dictionary是否包含特定值。             
      GetEnumerator:  返回循环访问 Dictionary的枚举数。
      GetType:             获取当前实例的 Type。 (从 Object 继承。)
      Remove:             从 Dictionary中移除所指定的键的值。
      ToString:             返回表示当前 Object的 String。 (从 Object 继承。)
      TryGetValue:      获取与指定的键相关联的值。

    注意:本内容来自:https://jingyan.baidu.com/article/9989c7460ab872f648ecfeed.html

     

    展开全文
  • 要使用Dictionary集合,需要导入C#泛型命名空间  System.Collections.Generic(程序集:mscorlib) 步骤阅读 2  Dictionary的描述 1、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一...
    1.  要使用Dictionary集合,需要导入C#泛型命名空间

       System.Collections.Generic(程序集:mscorlib)

      步骤阅读

    2. 2

       Dictionary的描述

      1、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成

      2、任何键都必须是唯一的

      3、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值

      4、Key和Value可以是任何类型(string,int,custom class 等)

       

      步骤阅读

    3. 3

       Dictionary常用用法:以 key 的类型为 int , value的类型为string 为例

       

       1、创建及初始化

       Dictionary<int,string>myDictionary=newDictionary<int,string>();

       

       2、添加元素

      myDictionary.Add(1,"C#");

      myDictionary.Add(2,"C++");

      myDictionary.Add(3,"ASP.NET");

      myDictionary.Add(4,"MVC");

       

       3、通过Key查找元素

      if(myDictionary.ContainsKey(1))

      {

      Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);

       }

       

       4、通过KeyValuePair遍历元素

      foreach(KeyValuePair<int,string>kvp in myDictionary)

      ...{

      Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);

      }

       

      5、仅遍历键 Keys 属性

      Dictionary<int,string>.KeyCollection keyCol=myDictionary.Keys;

      foreach(intkeyinkeyCol)

      ...{

      Console.WriteLine("Key = {0}", key);

      }

       

      6、仅遍历值 Valus属性

      Dictionary<int,string>.ValueCollection valueCol=myDictionary.Values;

      foreach(stringvalueinvalueCol)

      ...{

      Console.WriteLine("Value = {0}", value);

      }

       

      7、通过Remove方法移除指定的键值

      myDictionary.Remove(1);

      if(myDictionary.ContainsKey(1))

      ...{

        Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);

      }

      else

      {

      Console.WriteLine("不存在 Key : 1"); 

       }

      步骤阅读

    4. 4

      其它常见属性和方法的说明:

       

        Comparer:           获取用于确定字典中的键是否相等的 IEqualityComparer。

        Count:                  获取包含在 Dictionary中的键/值对的数目。

        Item:                    获取或设置与指定的键相关联的值。

        Keys:                   获取包含 Dictionary中的键的集合。

        Values:                获取包含 Dictionary中的值的集合。

        Add:                    将指定的键和值添加到字典中。

        Clear:                  从 Dictionary中移除所有的键和值。

        ContainsKey:      确定 Dictionary是否包含指定的键。

        ContainsValue:   确定 Dictionary是否包含特定值。             

        GetEnumerator:  返回循环访问 Dictionary的枚举数。

        GetType:             获取当前实例的 Type。 (从 Object 继承。)

        Remove:             从 Dictionary中移除所指定的键的值。

        ToString:             返回表示当前 Object的 String。 (从 Object 继承。)

        TryGetValue:      获取与指定的键相关联的值。

     

    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);
        }
    } 

     

    2、用法2:Dictionary的Value为一个数组

    /// <summary>
    /// Dictionary的Value为一个数组
    /// </summary>
     public static void DicSample2()
     {
         Dictionary<String, String[]> dic = new Dictionary<String, String[]>();
         String[] ZheJiang =  { "Huzhou", "HangZhou", "TaiZhou" };
         String[] ShangHai = { "Budong", "Buxi" };
         dic.Add("ZJ", ZheJiang);
         dic.Add("SH", ShangHai);
         Console.WriteLine("Output :" + dic["ZJ"][0]);
     }

    3、用法3: Dictionary的Value为一个类

    //Dictionary的Value为一个类
    public static void DicSample3()
     {
         Dictionary<String, Student> stuList = new Dictionary<String, Student>();
         Student stu = null;
         for (int i = 0; i < 3; i++ )
         {
             stu = new Student();
             stu.Name = i.ToString();
             stu.Name = "StuName" + i.ToString();
             stuList.Add(i.ToString(), stu);
         }
     
         foreach (var student in stuList)
         {
             Console.WriteLine("Output : Key {0}, Num : {1}, Name {2}", student.Key, student.Value.Name, student.Value.Name);
         }
     }
       
      
    Student类:
    public class Student
    {
        public String Num { get; set; }
        public String Name { get; set; }
    }

     4 备注:Dictionary的扩展方法使用

    /// <summary>
    /// Dictionary的扩展方法使用
    /// </summary>
     public static void DicSample4()
     {
         //1)普通调用
         Dictionary<int, String> dict = new Dictionary<int, String>();
         DictionaryExtensionMethodClass.TryAdd(dict, 1, "ZhangSan");
         DictionaryExtensionMethodClass.TryAdd(dict, 2, "WangWu");
         DictionaryExtensionMethodClass.AddOrPeplace(dict, 3, "WangWu");
         DictionaryExtensionMethodClass.AddOrPeplace(dict, 3, "ZhangWu");
         DictionaryExtensionMethodClass.TryAdd(dict, 2, "LiSi");
     
         //2)TryAdd 和 AddOrReplace 这两个方法具有较强自我描述能力,用起来很省心,而且也简单:
         dict.AddOrPeplace(20, "Orange");
         dict.TryAdd(21, "Banana");
         dict.TryAdd(22, "apple");
     
         //3)像Linq或jQuery一样连起来写  
         dict.TryAdd(10, "Bob")
             .TryAdd(11, "Tom")
             .AddOrPeplace(12, "Jom");
     
         //4) 获取值
         String F = "Ba";
         dict.TryGetValue(31, out F);
         Console.WriteLine("F : {0}",F);
     
         foreach (var dic in dict)
         {
             Console.WriteLine("Output : Key : {0}, Value : {1}", dic.Key, dic.Value);
         }
         //5)下面是使用GetValue获取值
         var v1 = dict.GetValue(111,null);
         var v2 = dict.GetValue(10,"abc");
     
         //6)批量添加
         var dict1 = new Dictionary<int,int>();
         dict1.AddOrPeplace(3, 3);
         dict1.AddOrPeplace(5, 5);
     
         var dict2 = new Dictionary<int, int>();
         dict2.AddOrPeplace(1, 1);
         dict2.AddOrPeplace(4, 4);
         dict2.AddRange(dict1, false);
     }
       
      扩展方法所在的类
    public static class DictionaryExtensionMethodClass
    {
        /// <summary>
        /// 尝试将键和值添加到字典中:如果不存在,才添加;存在,不添加也不抛导常
        /// </summary>
        public static Dictionary<TKey, TValue> TryAdd<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue value)
        {
            if (dict.ContainsKey(key) == false)
                dict.Add(key, value);
            return dict;
        }
     
        /// <summary>
        /// 将键和值添加或替换到字典中:如果不存在,则添加;存在,则替换
        /// </summary>
        public static Dictionary<TKey, TValue> AddOrPeplace<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue value)
        {
            dict[key] = value;
            return dict;
        }
     
        /// <summary>
        /// 获取与指定的键相关联的值,如果没有则返回输入的默认值
        /// </summary>
        public static TValue GetValue<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue defaultValue)
        {
            return dict.ContainsKey(key)?dict[key] : defaultValue;
        }
     
        /// <summary>
        /// 向字典中批量添加键值对
        /// </summary>
        /// <param name="replaceExisted">如果已存在,是否替换</param>
        public static Dictionary<TKey, TValue> AddRange<TKey, TValue>(this Dictionary<TKey, TValue> dict, IEnumerable<KeyValuePair<TKey, TValue>> values, bool replaceExisted)
        {
            foreach (var item in values)
            {
                if (dict.ContainsKey(item.Key) == false || replaceExisted)
                    dict[item.Key] = item.Value;
            }
            return dict;
        }
     
     
    }

     

    使用方法

        //定义
        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(','));
        OtherType.Add(2, "2,22,222".Split(','));
        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);
        } 

     

     

    常用属性

        名称    说明
        Comparer     获取用于确定字典中的键是否相等的 IEqualityComparer<T>。
        Count        获取包含在 Dictionary<TKey, TValue> 中的键/值对的数目。
        Item         获取或设置与指定的键相关联的值。
        Keys         获取包含 Dictionary<TKey, TValue> 中的键的集合。
        Values       获取包含 Dictionary<TKey, TValue> 中的值的集合。

    常用方法
        名称    说明
        Add                 将指定的键和值添加到字典中。
        Clear               从 Dictionary<TKey, TValue> 中移除所有的键和值。
        ContainsKey         确定 Dictionary<TKey, TValue> 是否包含指定的键。
        ContainsValue       确定 Dictionary<TKey, TValue> 是否包含特定值。
        Equals(Object)      确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
        Finalize            允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
        GetEnumerator       返回循环访问 Dictionary<TKey, TValue> 的枚举器。
        GetHashCode         用作特定类型的哈希函数。 (继承自 Object。)
        GetObjectData       实现 System.Runtime.Serialization.ISerializable 接口,并返回序列化 Dictionary<TKey, TValue> 实例所需的数据。
        GetType             获取当前实例的 Type。 (继承自 Object。)
        MemberwiseClone     创建当前 Object 的浅表副本。 (继承自 Object。)
        OnDeserialization    实现 System.Runtime.Serialization.ISerializable 接口,并在完成反序列化之后引发反序列化事件。
        Remove              从 Dictionary<TKey, TValue> 中移除所指定的键的值。
        ToString            返回表示当前对象的字符串。 (继承自 Object。)
        TryGetValue         获取与指定的键相关联的值。

    展开全文
  • Dictionary基本用法

    2019-01-28 11:24:35
    C#中字典Dictionary的用法 各位看官如果在此博客中没有找到自己碰到问题的答案,可联系博主,进行更新哦 1.创建Dictionary Dictionary&amp;amp;lt;int, string&amp;amp;gt; dic = new Dictionary&amp;...

    C#中字典Dictionary的用法

    1.创建Dictionary
    Dictionary<int, string> dic = new Dictionary<int, string>();
    
    2.Dictionary添加元素
    //dic.Add(Key,Value);
    dic.Add(1, "张三");
    dic.Add(2, "李四");
    dic.Add(3, "王五");
    dic.Add(4, "李六");
    dic.Add(5, "赵七");
    dic[6] = "斗帝";//public TValue this[TKey key] { get; set; }
    

    3.遍历

    //遍历Key和Value
    for (int i = 0; i < dic.Count; i++)
    	Console.WriteLine($"Key:{dic.Keys.ToArray()[i]},Value:{dic.Values.ToArray()[i]}");
    foreach(KeyValuePair<int, string> kvp in dic)
    	Console.WriteLine($"Key:{kvp.Key},Value:{kvp.Value}");
    //遍历Key
    foreach(var key in dic.Keys)
    	Console.WriteLine($"Key:{key}");
    //遍历Value
    foreach(var value in dic.Values)
    	Console.WriteLine($"Value:{value}");    
    

    4.根据Key值取Value

    //确定key在字典集中存在
    string value = dic[1];
    //不确定key是否存在字典集当中
    value = dic.FirstOrDefault(d=>d.key == 1).Value;
    

    5.根据Value值取Key

    //lambada表达式
    int key = dic.FirstOrDefault(d => d.Value == "李四").Key;
    //linq to object
    key = (from query in dic.AsEnumerable()
           where query.Value == "王五"
           select new 
           { 
           		query.Key 
           }
           ).Select(d => d.Key).ToList().FirstOrDefault();
    

    6.判断Key是否存在

    bool keyBool = false;
    keyBool = dic.Keys.Contain(key);
    keyBool = dic.ContainsKey(key);
    

    7.判断Value是否存在

    bool valueBool = false;
    valueBool = dic.Values.Contain(key);
    valueBool = dic.ContainsValue(key);
    

    8.移除元素

    //移除单个元素
    dic.Remove(key);
    //移除所有
    dic.Clear();
    
    展开全文
  • C# Dictionary 字典

    2018-03-28 09:22:18
    说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的 键和值都可以是任何类型(比如:string, int, 自定义类型,...

    说明

        必须包含名空间System.Collection.Generic 
        Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 
        键必须是唯一的,而值不需要唯一的 
        键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 
        通过一个键读取一个值的时间是接近O(1) 
        键值对之间的偏序可以不定义

    使用方法

        //定义
        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(','));
        OtherType.Add(2, "2,22,222".Split(','));
        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);
        } 

     

     

    常用属性

        名称    说明
        Comparer     获取用于确定字典中的键是否相等的 IEqualityComparer<T>。
        Count        获取包含在 Dictionary<TKey, TValue> 中的键/值对的数目。
        Item         获取或设置与指定的键相关联的值。
        Keys         获取包含 Dictionary<TKey, TValue> 中的键的集合。
        Values       获取包含 Dictionary<TKey, TValue> 中的值的集合。

    常用方法
        名称    说明
        Add                 将指定的键和值添加到字典中。
        Clear               从 Dictionary<TKey, TValue> 中移除所有的键和值。
        ContainsKey         确定 Dictionary<TKey, TValue> 是否包含指定的键。
        ContainsValue       确定 Dictionary<TKey, TValue> 是否包含特定值。
        Equals(Object)      确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
        Finalize            允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
        GetEnumerator       返回循环访问 Dictionary<TKey, TValue> 的枚举器。
        GetHashCode         用作特定类型的哈希函数。 (继承自 Object。)
        GetObjectData       实现 System.Runtime.Serialization.ISerializable 接口,并返回序列化 Dictionary<TKey, TValue> 实例所需的数据。
        GetType             获取当前实例的 Type。 (继承自 Object。)
        MemberwiseClone     创建当前 Object 的浅表副本。 (继承自 Object。)
        OnDeserialization    实现 System.Runtime.Serialization.ISerializable 接口,并在完成反序列化之后引发反序列化事件。
        Remove              从 Dictionary<TKey, TValue> 中移除所指定的键的值。
        ToString            返回表示当前对象的字符串。 (继承自 Object。)
        TryGetValue         获取与指定的键相关联的值。

    展开全文
  • dictionary

    2020-02-05 16:33:16
    store information come as key-value pairs each key should be unique 通过key获得value customer = { 'name':'John Smith', 'age':'30', 'is_verified':True } customer['name'] ......
  • Dictionary, object>

    2019-07-05 18:26:46
    Dictionary<string, object> dcic = JsonHelper.DataRowFromJSON(resultdepth); foreach (var depthkey in dcic.Keys) { if (depthkey.Contains("d...
  • C# Dictionary源码剖析

    2016-05-06 00:38:50
    Dictionary是Hashtable的一种泛型实现(也是一种哈希表)实现了IDictionary反应接口和非泛型接口等,将键映射到相应的值。任何非 null 对象都可以用作键。
  • 在看过一篇大神写的《带你看懂Dictionary的内部实现》,对Dictionary的内部实现有了一个清晰的了解,但纸上得来终觉浅,作为程序员,还是自己调试一下代码,记忆更深刻,为此专门拷贝出C#的Dictionary源码,因为源码...
  • 1、要使用Dictionary集合,需要导入C#泛型命名空间  System.Collections.Generic(程序集:mscorlib) 2、描述  1)、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成  2)...
  • Java中Dictionary的使用

    2013-11-18 17:59:32
    Dictionary 类是任何可将键映射到相应值的类(如 Hashtable)的抽象父类。每个键和每个值都是一个对象。在任何一个 Dictionary 对象中,每个键至多与一个值相关联。给定一个Dictionary 和一个键,就可以查找...
  • import UIKit /* 字典的介绍 1.字典允许按照某个键访问元素 2.... 3.... 4.Swift 字典类型是Dictionary 也是一个泛型集合 5.字典分为 可变字典和 不可变字典 let 修饰不可变字典 var修饰可变字典
  • C# Dictionary的遍历理解

    2016-09-10 10:58:05
    C# Dictionary容器类的理解 本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接:http://blog.csdn.net/cartzhang/article/details/52490249 作者:cartzhang一、Dictionary容器类的内部实现在C#...
  • Dictionary, string>

    2014-01-20 13:28:47
    Dictionary是一个泛型他本身有集合的功能有时候可以把它看成数组他的结构是这样的:Dictionary他的特点是存入对象是需要与[key]值一一对应的存入该泛型通过某一个一定的[key]去找到对应的值举个例子://实例化对象...
  • Dictionary dic1 = new Dictionary();  dic1.Add("ddd","123");  dic1.Add("aaa", "123");  dic1.Add("ccc", "123");  dic1.Add("fff", "123");  dic1.Add("eee", "123");  dic
  • Dictionary<K,V> 与 List<T> 集合的区别及效率 我们要遍历一个集合,是用字典来存储还是用数组链表来存储。 1. 把基本概念 List<T>就是一个集合,它可以存储某种类型的列表 Dictionary<T1,...
  • C#Dictionary的使用

    2018-05-02 11:25:35
    Dictionary&lt;TKey,TValue&gt;:表示键和值的集合 TKey:字典中的键的类型。 TValue:字典中的值的类型。初始化:Dictionary&lt;int, string&gt; DIC = new Dictionary&lt;int, string&gt;...
  • 我们经常有对List和Dictionary列表进行复制、转换等操作,在数据量较少时(几万以内)各种转换速度不会被觉察,但是数据量很大时(百万左右),各种转换方式的性能就会体现出来。  本文档将对列表转换效率进行测试...
  • let dictionary1 = ["key1": 888, "key2": 999] let dictionary2: [String: Int] = ["key1": 888, "key2": 999] 定义字典变量 var dictionary: [String:Int] = [:] ...
  • 这几天做项目被一个问题难倒了,不知如何去动手,问了师哥有点小小的收获,给我普及了一下C#中dictionary的用法;我们以前做项目的时候用到最多的就是list泛型,来讲一讲两者的比较吧。  【Dictionary】  在C#中,...
  • 浅析C# Dictionary实现原理(转载https://flycode.co/archives/225519) ... 三、Dictionary实现 1. Entry结构体 2. 其它关键私有变量 3. Dictionary – Add操作 4. Dictionary – Find...
1 2 3 4 5 ... 20
收藏数 220,241
精华内容 88,096
关键字:

dictionary