字典的含义: 字典中key只能对应一个值不能对应多个值,线性结构。
Dictionary<string,string> Dic=new Dictionary<string,string>();//普通创建实例化
Dictionary<string,string> Dic1 = new Dictionary<string, string> { { "a", "1" }, { "b", "2" }, };//直接创建实例化并赋值
Dictionary<string, string> d = new Dictionary<string, string>();
foreach (var item in d)
{
Console.WriteLine(item.Key+item.Value);//遍历打印链表中的值
}
Dictionary<string, Dictionary<string, string>> Dic1;
Dic1 = new Dictionary<string, Dictionary<string, string>>();
//方法一
Dic1.Add("key",new Dictionary<string, string>());//对应的内嵌字典需实例化
Dic1["key"].Add("key", "value");//添加外层值
//方法二
Dic1["key"] = new Dictionary<string, string>();//给外层的某个值赋值字典值
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]
Dictionary<string, List<string>> Dic1;
Dic1 = new Dictionary<string, List<string>>();
Dic1.Add("key1", new List<string> { "第一个", "第二个", "第三个" });//给字典和列表赋值
Dic1.Add("key2", new List<string> { "第四个", "第五个", "第六个" });//给字典和列表赋值
foreach (var item in Dic1)
{
Console.WriteLine("字典:" + item.Key + item.Value);//遍历打印字典中的值
foreach (var item1 in item.Value)
{
Console.WriteLine("列表:"+item1);//遍历打印链表中的值
}
}
当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。
方法1:
List<int> list = new List<int>();//创建了一个空列表
方法2:
var list = new List<int>();//创建了一个空列表
方法3:创建并初始化赋值
var list = new List<int> {1,2,3};
两种遍历列表的方法
```csharp
List<int> scoreList = new List<int>();
//第一种:依次获得list中的每一个元素,赋值给temp,并执行循环体
foreach (string s in list)
{
Console.WriteLine(s);//遍历打印链表中的值
//打印结果:链表2 链表3
}
//第二种:遍历所有的索引,通过索引访问列表中的元素
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);//遍历打印链表的值
}
例如:
List<int> intList = new List<int> (10);
//创建了一个容量为10的列表
//当容量不够时,每次都会按照原来的2倍进行容量的扩充
我们可以通过Capacity属性来获取和设置容量大小。
intList.Capacity = 100;
注意容量和列表中的元素个数的区别。
容量是列表中用于存储数据的数组的长度,通过Capacity进行获取。 而列表中的元素则是我们添加进去的、需要管理的数据,通过Count进行获取。
//创建嵌套列表和普通列表
List<List<string>> list1 = new List<List<string>>();
List<string> list2 = new List<string>();
List<string> list3 = new List<string>();
//普通链表赋值
list2.Add("链表2");
list3.Add("链表3");
//嵌套链表赋值
list1.Add(list2);
list1.Add(list3);
//遍历嵌套链表
foreach (List<string> i in list1)
{
foreach (string s in i)
{
Console.WriteLine(s);//打印链表的值
//打印结果:链表2 链表3
}
}
List<Dictionary<string, string>> list1;//创建嵌套字典的列表
Dictionary<string, string> d;//创建字典
d = new Dictionary<string, string>();//实例化字典
list1 = new List<Dictionary<string, string>>();//实例化列表
list1.Add(d);//将字典添加进列表,这种方式
d.Add("key", "value");//直接给字典赋值
list1[1].Add("key", "value");//也可以通过列表给字典赋值
//遍历嵌套字典
foreach (var item in list1)
{
foreach (var item1 in item)
{
Console.WriteLine(item1);//打印字典的值
}
}
字典和列表 相互嵌套使用 的几种方式,包括实例讲解,应该没有被绕晕吧,这只是介绍了双层嵌套使用
更多层的嵌套使用方法类似,就一直套用就好了,遍历的时候多次循环使用就好啦!
今天你学废了吗!