将项添加到Jagged数组

时间:2011-03-21 09:51:02

标签: c# arrays

我已经查看了一些数组主题,但我仍然感到难过。

我希望在我的锯齿状数组中添加一个新行 - 并且我正在努力使语法正确..

        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 };

3 个答案:

答案 0 :(得分:2)

您可能想要创建一个集合或List<int[]>

然后你可以在某个索引处插入一个项目。

List<int[]> x = new List<int[]>();
x.Insert(3, new int[3] { 1, 2, 3 });

答案 1 :(得分:2)

你想做什么?在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[] {...});

或者如果您想要替换现有的行,那么只需:

答案 2 :(得分:1)

如果希望初始列表具有可变长度,则不能使用数组。改为使用列表。

这应该有效:

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 } );