如何在现有数组的索引中创建数组,C#

时间:2011-11-15 12:52:18

标签: c# arrays

如何在不使用指针(例如

)的情况下在现有数组的索引中创建数组
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

第一个解决方案是否可以更改我的两个阵列?任何其他解决方案

3 个答案:

答案 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