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
|