C# 动态二维数组赋值

我如果定义个int[,] i1 = new int[行数未知,列数未知];
int[,] i2 = new int[4,2];
1 1
2 2
3 3
4 4
请问如何赋给i1.

int[,] i1=new int[,]是错误写法,编译器提醒有错。动态数组可用List泛型类,可以用如下办法构成动态的2维数组并赋值。

            List<int[]> i1 = new List<int[]>();

            int[,] i2=new int[,] {{1,1},{2,2},{3,3},{4,4}};

            int [] i3=new int[2];

            for (int j = 0; j < 4; j++)

            {

                i3[0] = i2[j, 0];

                i3[1] = i2[j, 1];

                i1.Add(i3);

                Console.WriteLine("{0}  {1}",i1[j][0],i1[j][1]);

            }

输出如下所示

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
数组初始化时要有其长度,在有具体数据时可以省略长度 例如:
int[] arrOne=new int[2];
int[] arrTwo=new int[]{2, 4}
初始化后的长度不可改变
这也是数组的缺点。如果想不固定长度,可以用泛型
二维数组的赋值
i2[1,0]=2;
i2[1,1]=3;本回答被提问者采纳
第2个回答  2011-03-23
你说的这是什么?