Keep on going never give up.

Let's Go

C# 学习笔记(47)Dictionary字典集合

C#Lonely2019-05-18 23:04:4753次0条

使用Dictionary集合,需要引用命名空间System.Collections.Generic; Dictionary元素都是由键值对组成,键和值可以是任何类型。

语法:Dictionary<键类型,值类型> 集合名=new Dictionary<键类型,值类型>();

注意:跟Hashtable一样,Dictionary中的键必须是唯一的,而值是可以重复的。

Dictionary常用的方法和属性的作用

方法或属性 作用
Count

获取包含在Dictionary<TKey, TValue>中的键/值对的数目。

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

代码示例:

using System;
using System.Collections.Generic; //引用命名空间

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //键必须是唯一的,而值则可以重复。
            Dictionary<int, string> dic = new Dictionary<int, string>();

            //添加数据
            //方法一:对象名.Add(键,值);
            dic.Add(0, "张三");
            dic.Add(1, "李四");
            dic.Add(2, "王五");
            dic.Add(3, "赵六");

            //方法二:对象名[键]=值;
            //如果这个集合里没有这个键,那么就会把这个键和值添加进去。如果这个集合里已经存在这个键了,则会把该键对应的值替换覆盖掉。
            dic[4] = "岳云鹏";
            dic[0] = "覆盖张三";

            //判断集合中是否包含该键
            if (dic.ContainsKey(0)) //ContainsValue 判断是否包含值
            {
                Console.WriteLine("该键已存在,键必须是唯一。");
            }
            else
            {
                Console.WriteLine("该键不存在,可以添加。");
            }

            //移除集合中所有元素
            //dic.Clear();

            //移除指定键的元素
            dic.Remove(4);

            //获取指定键的关联值
            string str;
            bool b = dic.TryGetValue(2,out str); ;

            //遍历输出
            //方式一:
            foreach (KeyValuePair<int, string> kv in dic)
            {
                Console.WriteLine("键:{0} \t 值:{1} ", kv.Key, kv.Value);
            }

            //方式二:
            foreach (var item in dic.Keys)
            {
                Console.WriteLine("键:{0} \t 值:{1} ", item, dic[item]);
            }
            Console.ReadKey();

        }
    }
}




暗锚,解决锚点偏移

文章评论

    嘿,来试试登录吧!