我现在需要在C#里面建立一个这样的数组 ArrayList[,] Grid = new ArrayList[3,3] 但是在我调用的时候出现“未将对象引用设置到对象的实例。”请问有什么办法可以实现这样的功能?
ist[,] Grid = new ArrayList[3,3]; for(int i = 0; i < 9; i++) { ArrayList al = new ArrayList(); al.Add("abc"); Grid[i % 3, i / 3] = al; } Console.WriteLine(Grid[0,0][0]);
ArrayList[,] Grid = new ArrayList[3,3]; for(int i = 0; i < 9; i++) { Grid[i % 3, i / 3] = new ArrayList(); }Console.WriteLine(Grid[0,0].Count);
int[,] a2 = new int[10,20]; //定义二维数组 楼主定义是没问题的。调用的时候出了问题吧
ArrayList[,] Grid = new ArrayList[3,3] int i,j; for (i = 0 ; i < 3; ++i) { for (j = 0 ; j < 3; ++j) { Gird[i,j] = new ArrayList(); } } //然后就可以使用
class ArrayClass2D { static void PrintArray(int[,] arr) { // Display the array elements: for (int i = 0; i < 4; i++) { for (int j = 0; j < 2; j++) { System.Console.WriteLine("Element({0},{1})={2}", i, j, arr[i, j]); } } } static void Main() { // Pass the array as a parameter: PrintArray(new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }); } }
但是在我调用的时候出现“未将对象引用设置到对象的实例。”请问有什么办法可以实现这样的功能?
for(int i = 0; i < 9; i++)
{
ArrayList al = new ArrayList();
al.Add("abc");
Grid[i % 3, i / 3] = al;
}
Console.WriteLine(Grid[0,0][0]);
for(int i = 0; i < 9; i++)
{
Grid[i % 3, i / 3] = new ArrayList();
}Console.WriteLine(Grid[0,0].Count);
楼主定义是没问题的。调用的时候出了问题吧
int i,j;
for (i = 0 ; i < 3; ++i)
{
for (j = 0 ; j < 3; ++j)
{
Gird[i,j] = new ArrayList();
}
}
//然后就可以使用
{
static void PrintArray(int[,] arr)
{
// Display the array elements:
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 2; j++)
{
System.Console.WriteLine("Element({0},{1})={2}", i, j, arr[i, j]);
}
}
}
static void Main()
{
// Pass the array as a parameter:
PrintArray(new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } });
}
}