如何在不使用指针(例如
)的情况下在现有数组的索引中创建数组float[] currentNode = new float[12]
float[] neighbour = new float[12]
neighbour[8] = new float[12]
neighbour[8] = currentNode;
and can access with neighbour[8][1]
其他选项是使用指针的东西。
float *pointer;
int []array = new int[12];
pointer = &array[0];
neighbour[8] = pointer
第一个解决方案是否可以更改我的两个阵列?任何其他解决方案
答案 0 :(得分:5)
您正在寻找Multidimensional arrays。
int[,] myArray;
myArray = new int[,] {{1,2}, {3,4}, {5,6}, {7,8}}; // OK
答案 1 :(得分:3)
你做不到。
你有一个float值数组,而不是数组数组。
这意味着你不能在数组中指定一个元素(它包含一个浮点值)一个数组值。
您必须将变量重新定义为:
float[][] neighbour = new float[12][];
这将声明一个数组数组,这意味着邻居数组的每个元素都可以包含不同长度的数组,或者没有数组(null
- 引用)。
如果要声明矩阵,可以这样做:
float[,] neighbour = new float[12, 8];
答案 2 :(得分:0)
你也可以使用泛型:
List<List<float>> numbers = new List<List<float>>();
numbers.Add(new List<float>());
numbers.Add(new List<float>());
numbers[0].Add(2.3);
numbers[0].Add(5);
numbers[0].Add(8.74);
numbers[1].Add(6.8);
numbers[1].Add(9.87);
float aNumber = numbers[1][0]; //6.8
float anotherNumber = numbers[0][2]; //8.74