繁体   English   中英

将项添加到Jagged数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM