特点:
必须包含名空间System.Collection.Generic
Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
键必须是唯一的,而值不需要唯一的
字典 长度是不固定的 随着元素增减 而改变
键和值都可以是任何类型(比如:string, int, 自定义类型,等等)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp33
{
internal class Program
{
static void Main(string[] args)
{
//字典的对象
Dictionary<string,int> dic = new Dictionary<string,int>();
Dictionary<int,string> dic1 = new Dictionary<int,string>();
//添加元素
dic1.Add(0, "a");
dic1.Add(1, "b");
dic1.Add(2, "c");
dic.Add("1", 123);
dic.Add("2", 333);
dic.Add("abc", 333);
dic.Add("3", 456);
//查找
Console.WriteLine(dic1[0]);
Console.WriteLine(dic["3"]);
//修改
dic1[2] ="d";
dic["2"] = 444;
for (int i = 0; i < dic1.Count; i++)
{
Console.WriteLine(dic1[i]);
}
//dic.Keys 集合
foreach (string item in dic.Keys)
{
Console.WriteLine(dic[item]);
}
// dic.Values 集合
foreach (int item in dic.Values)
{
Console.WriteLine(item);
}
//
foreach (KeyValuePair<string,int> item in dic)
{
Console.WriteLine(item.Key);
Console.WriteLine(item.Value);
}
移除元素
bool isRmove = dic.Remove("aaadsasdasd");
if (isRmove)
{
Console.WriteLine("删除成功");
}
else {
Console.WriteLine("删除失败");
}
// //判断字典中是否包含某个key
bool isTrue = dic.ContainsKey("2");
if (isTrue)
{
dic.Remove("2");
}
else {
dic.Add("2",11);
}
// //清空
dic.Clear();
// //字典中key/value的个数
Console.WriteLine(dic.Count);
Console.ReadKey();
}
}
}
常用属性
名称 说明
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> 是否包含特定值。
Remove 从 Dictionary<TKey, TValue> 中移除所指定的键的值。
ToString 返回表示当前对象的字符串。 (继承自 Object。)