字典和列表 相互嵌套
📢前言
- 📢前言
- 🏳️🌈字典
- 字典嵌套字典
- 字典嵌套列表
- 🏳️🌈列表
- 列表嵌套列表
- 列表嵌套字典
- 👥总结
- 最近因为工作需求需要用到列表和字典嵌套使用来达成效果
- 好久不用都有点忘记咋用了,所以就去搜了搜
- 发现是有文章介绍嵌套使用,但是很零散、不齐全
- 然后我就写了一篇,自己写代码实例尝试了一下,差不多将字典和列表相互嵌套的几种方法都写出来了
- 一起来搞懂字典和列表的相互嵌套具体怎样使用吧!
字典的含义: 字典中key只能对应一个值不能对应多个值,线性结构。
- 实例化:Dictionary 名字dic=new Dictionary();
Dictionary Dic=new Dictionary();//普通创建实例化
Dictionary Dic1 = new Dictionary { { "a", "1" }, { "b", "2" }, };//直接创建实例化并赋值
- 常见方法: 添加:Dic.Add(key,value)给字典添加值 删除:Dic.Remove(key) 删除指定值 访问:Dictionary[key]表示key所对应的值 判断空:ContainsKey(key)判断key是否存在
- 遍历字典方法:
Dictionary d = new Dictionary();
foreach (var item in d)
{
Console.WriteLine(item.Key+item.Value);//遍历打印链表中的值
}
字典嵌套字典
- 字典嵌套字典,在创建字典的时候,将里面一层再写一个字典,就完成字典嵌套了,里面的字典就相当于外层字典的Value值
- 在实例化的时候只是实例化了外层的字典,在给外层字典赋值的时候,需要将内层嵌套的字典再进行实例化
- 然后拿到外层字典的key之后,再给内层的字典赋值Key和Value
- 遍历的时候,双层循环,先遍历外层字典,然后在遍历外层字典的Value(也就是内层字典)
Dictionary Dic1;
Dic1 = new Dictionary();
//方法一
Dic1.Add("key",new Dictionary());//对应的内嵌字典需实例化
Dic1["key"].Add("key", "value");//添加外层值
//方法二
Dic1["key"] = new Dictionary();//给外层的某个值赋值字典值
Dic1["key"].Add("key1", "value");//外层字典的key,赋值嵌套的字典值
Console.WriteLine(Dic1["key"]["key1"]);//读取嵌套字典里的某个值
//打印结果:value
//遍历嵌套字典
foreach (var item in Dic1)
{
Debug.Log("外层字典:" + item);//遍历打印外层字典中的值
foreach (var item1 in item.Value)
{
Console.WriteLine("内层字典:" + item1);//遍历外层字典的Value,来打印内层字典中的值
}
}
//打印结果:
//外层字典:keySystem.Collections.Generic.Dictionary`2[System.String,System.String]
//内层字典:[key1, value]
字典嵌套列表
- 字典嵌套列表跟上面的嵌套字典是一个道理
- 也是把外层字典的Value换成列表
- 然后实例化的时候也是如此,先实例化外层字典,在给字典赋值的时候在实例化列表元素
- 在遍历的时候与字典嵌套字典一模一样
Dictionary Dic1;
Dic1 = new Dictionary();
Dic1.Add("key1", new List { "第一个", "第二个", "第三个" });//给字典和列表赋值
Dic1.Add("key2", new List { "第四个", "第五个", "第六个" });//给字典和列表赋值
foreach (var item in Dic1)
{
Console.WriteLine("字典:" + item.Key + item.Value);//遍历打印字典中的值
foreach (var item1 in item.Value)
{
Console.WriteLine("列表:"+item1);//遍历打印链表中的值
}
}
🏳️🌈列表
当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。
- 如果我们有许多类型一样但数量不定的数据,我们可以使用集合类来进行管理——例如列表List。我们可以使用列表List很方便的添加数据,删除数据以及其他的一些数据操作。
- 实例化的三种方法
方法1:
List list = new List();//创建了一个空列表
方法2:
var list = new List();//创建了一个空列表
方法3:创建并初始化赋值
var list = new List {1,2,3};
两种遍历列表的方法
```csharp
List scoreList = new List();
//第一种:依次获得list中的每一个元素,赋值给temp,并执行循环体
foreach (string s in list)
{
Console.WriteLine(s);//遍历打印链表中的值
//打印结果:链表2 链表3
}
//第二种:遍历所有的索引,通过索引访问列表中的元素
for (int i = 0; i
关注
打赏
热门博文
- 通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
- 花一天时间做一个高质量飞机大战游戏,过万字Unity完整教程!漂亮学妹看了直呼666!
- 自动化测试哪家强?Apipost用实力来告诉你。
- Unity实战篇 | 游戏中控制 地图无限自动化生成 的方法,进一步优化项目
- Unity实战篇 |制作一个跟随鼠标转向的 简易箭头指示标,包括 UI指向 和 3D指向标
- 【100个 Unity实用技能】| Unity读取本地文件(Json,txt等)的三种方法示例
- 【100个 Unity实用技能】| Unity中常用的几种路径 分析,不同平台路径总结
- 实测:游戏情景中,远控软件实力如何?一篇告诉你ToDesk的强大之处
- 【100个 Unity实用技能】| C#中List.Find 方法详解 查找符合要求的第一个元素并返回
- 一顿饭的时间,教你怎样快速使用 动态代理ip 做一个获取Steam 热销商品 的方法