[英]Add item to a Jagged array
我已经看过一些数组主题,但我仍然感到难过。
我希望在我的锯齿状数组中添加一个新行 - 并且为了使语法正确而受到严格限制。
int[][] intJaggedArray = new int[7][];
intJaggedArray[0] = new int[3] { 1, 1, 1 };
intJaggedArray[1] = new int[3] { 2, 2, 2 };
intJaggedArray[2] = new int[3] { 3, 3, 3 };
intJaggedArray[3] = new int[3] { 4, 4, 4 };
intJaggedArray[4] = new int[3] { 5, 5, 5 };
intJaggedArray[5] = new int[3] { 6, 6, 6 };
intJaggedArray[6] = new int[3] { 7, 7, 7 };
所以现在如果我想补充一下
intJaggedArray[0] = new int[3] { 1, 1, 2 };
因此阵列最终如下所示如何实现它 - 提前感谢 - 来自英格兰的菜鸟。 (并提前表示非常感谢)
intJaggedArray[0] = new int[3] { 1, 1, 1 };
intJaggedArray[0] = new int[3] { 1, 1, 2 };
intJaggedArray[1] = new int[3] { 2, 2, 2 };
intJaggedArray[2] = new int[3] { 3, 3, 3 };
intJaggedArray[3] = new int[3] { 4, 4, 4 };
intJaggedArray[4] = new int[3] { 5, 5, 5 };
intJaggedArray[5] = new int[3] { 6, 6, 6 };
intJaggedArray[6] = new int[3] { 7, 7, 7 };
您可能想要创建集合或List<int[]>
然后你可以在某个索引处插入一个项目。
List<int[]> x = new List<int[]>();
x.Insert(3, new int[3] { 1, 2, 3 });
你想让我做什么? 在0和1之间插入一条线? 或者替换现有的0行?
你的路线:
intJaggedArray[0] = new int[3] { 1, 1, 2 };
只需替换现有的0行。
您不能在数组中插入行。 为此,请使用列表:
List<int[]> myList = new List<int[]>();
myList.Add(new int[] {...});
myList.Add(new int[] {...});
myList.Add(new int[] {...});
...
myList.Insert(1, new int[] {...});
或者,如果要替换现有行,则只需:
如果希望初始列表具有可变长度,则不能使用数组。 请改用列表。
这应该工作:
List<int[]> intJaggedList = new List<int[]>();
intJaggedList.Add( new int[3] { 1, 1, 1 } );
intJAggedList.Add( new int[3] { 2, 2, 2 } );
...
然后插入新数组:
intJaggedList.Insert( 1, new int[3] { 1, 1, 2 } );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.