C#二维List添加元素问题
创建二维list后,要想使用其一维下标,前提是该列表不能为空,即要先有元素以后才能用下标索引
如:
创建二维列表 H
List<List> H = new List<List>();
里面没有元素,用下标引用 会报错:
H[0].Add(1);
正确方法:
List list1=new List(); H 结果:
list1.Add(1); 1 2 3
H.Add(list1);
list1.Add(2); 1 2 3
H.Add(list1);
H[0].Add(3);
虽然上面可以用下标索引了,但只想给 H[0] 添加3这个元素,H[1]也添加了3
原因是.Add方法是在list末尾添加元素,之前都是用一维列表list1给H添加元素的,H[0].Add(3)相当于list1 添加3,而list1 改变的话H[0]、H[1]都要变
解决办法:
重新初始化list1
List<List> H = new List<List>();
List list1=new List();
list1.Add(1);H.Add(list1); //第一维添加1
list1=new List();
list1.Add(1);list1.Add(2); H.Add(list1); //第二维添加1,2
H[0].Add(3);
结果:
1 3
1 2