当前位置:首页 > C#学习

Dictionary泛型

小道8年前 (2018-09-01)C#学习5300

字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的,键和值都可以是任何类型。字典(Dictionary)是常用于查找和排序的列表。

说明

必须包含名空间System.Collection.Generic 。

Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 。

键必须是唯一的,而值不需要唯一的 。

键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 。

通过一个键读取一个值的时间是接近O(1) 。

键值对之间的偏序可以不定义。


常用属性


名称说明
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获取与指定的键相关联的值。


        static void Main(string[] args)
        {
            Dictionary<string, string> dss = new Dictionary<string, string>();//声明
            Dictionary<string, int> dsi = new Dictionary<string, int>();//声明
            Dictionary<int, string> dis = new Dictionary<int, string>();//声明
            dis.Add(1,"aa");//添加元素
            dis.Add(2,"bb");//添加元素
            dis.Add(3,"cc");//添加元素
            dis.Add(4,"ee");//添加元素
            Console.WriteLine(dis.ContainsValue("cc"));//查找表中是否包含"cc"字符串
            dis[4] = "dd"; //更改指定键的值。
            foreach (int i in dis.Keys)//遍历
            {
                Console.WriteLine(i+"键对应的值为:"+dis[i]);//输出
            }
            Console.ReadKey();//按任意键退出
        }

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://www.daobk.com/post/99.html

分享给朋友:

“Dictionary泛型” 的相关文章

枚举enum

枚举enum

确定数量、确定值的几个取值:东西南北、男女、上中下。和用字符串比起来,用枚举的好处就是限定了变量的取值范围,程序处理起来更方便。namespace 枚举//命名空间 {     enum xb { 男, 女…

定义类:一个类可有有多个实例。

定义类:一个类可有有多个实例。

一个类可有有多个实例。类就是把一系列相关的变量(状态)、行为定义为一个整体。字段记录的就是这个对象相关的数据。    class Program     {     …

修改密码

修改密码

修改密码。界面上有旧密码、新密码、重复新密码,假设旧密码为888888,两次输入的新密码必须和旧密码不一样,并且两次输入的新密码必须一致。        private void button1_Cl…

C#的二维数组的声明和访问

C#的二维数组的声明和访问

C#的二维数组的声明和访问二维数组,就是以数组作为元素的数组。挺拗口的,看看它跟一维数组的对比:左边的 a 是一维数组,数组中包含 4 个 int 型变量:a[0]、a[1]、a[2]、a[3] 。右边的 b 是二维数组,数组中包含 2 个 int 型一维数组:b[0]、b[1] 。而 b[0] 和…