三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

C# Dictionary字典

C# Dictionary字典
Dictionary字典

//字典:类似List 只能存储固定类型的数据,长度不固定

//Array ArrayList List使用索引进行数据的操作,字典使用""进行数据的操作

//存储结构:键值对(key-value

//键(key):标识 在一个字典中,键是唯一的,不能为null

//值(value):可以重复可以为null

//格式:Dictionary<键的数据类型,值的数据类型> 变量名 = new Dictionary<键的数据类型,值的数据类型> ();

Dictionary<string,int> keyValue1 =newDictionary<string,int>()

{

{"Name",111},

{"222",333},

{"ABC",444},

{"张三",555},

//键的校验发生在运行阶段

{"张三1",666},

};

//属性

//Count:键值对的总数

Console.WriteLine(keyValue1.Count);

//Keys:键的集合

Console.WriteLine(keyValue1.Keys);

//Values:值的集合

Console.WriteLine(keyValue1.Values);

//按照键【.Keys】遍历所有键,通过键获取对应值

foreach(stringkinkeyValue1.Keys)

{Console.WriteLine($"键:{k},值:{keyValue1[k]}");}

//按照值【.Values】遍历集合中所有的值,只能拿到value,无法获取key

foreach(intvinkeyValue1.Values)

{Console.WriteLine(v);}

//按照键值对【直接遍历字典】每次迭代得到KeyValuePair<TKey,TValue>键值对对象

foreach(KeyValuePair<string,int> iteminkeyValue1)

{Console.WriteLine($"键:{item.Key},值:{item.Value}");}

//Add()

keyValue1.Add("李四",777);

//格式:字典[key]=值存在就修改值,键不存在就等同于新增

keyValue1["王五"] = 888;

keyValue1["张三1"] = 999;

//Remove(key)根据键删除整条数据,返回bool

boolb1=keyValue1.Remove("张三");

Console.WriteLine(b1);

//Clear()清空字典

keyValue1.Clear();

//字典[key]=新值

//前提:键必须存在;如果键不存在,等价于新增一组键值对

//[key]按键取值 (键不存在抛出异常)

Console.WriteLine(keyValue1["Name"]);

//TryGetValue(键, out 接收值变量)

//返回bool:true找到;false未找到,不会报错

intnum;

boolb2 = keyValue1.TryGetValue("ABC",outnum);

if(b2)

{

Console.WriteLine(num);

}

判断

//ContainsKey(key):判断键是否存在

keyValue1.ContainsKey("222");

//ContainsValue(value):判断值是否存在

keyValue1.ContainsValue(111);

//【方法】Clear():清空字典内所有键值对,字典本身对象保留

keyValue1.Clear();

//Dictionary作用:一般记录一些映射关系,信号灯颜色不同等级

重点特性:【Dictionary字典 默认无序】

//遍历输出顺序不一定和你Add添加的先后顺序保持一致!

← 返回列表