如何将int []转换为int [,] - C#

Sym*_*yma 6 c# arrays matrix multidimensional-array

我在一个维度上有一个int数组:

var intArray=new[] { 1, 2, 3, 4, 5, 6 };
Run Code Online (Sandbox Code Playgroud)

我想将它转换为两个维度,例如:

var intArray2D=new[,] { {1, 2}, {3, 4}, {5, 6} };
Run Code Online (Sandbox Code Playgroud)

我如何用C#实现这一目标?

Chi*_*ata 1

我相信您想将整数数组拆分为每个包含两个整数的数组:

int[] list = new int[] { 1, 2, 3, 4, 5, 6};
int[][] newlist = new int[list.Length / 2][];
for (int i = 0, n = 0; i < list.Length; i += 2, n++)
{
    newlist[n] = new[] { list[i], list[i + 1] };
}
Run Code Online (Sandbox Code Playgroud)

要将其Points特别分配给您可以尝试:

List<Point> plist = new List<Point>();
for (int i = 0; i < list.Length; i += 2)
{
    plist.Add(new Point(list[i], list[i + 1]));
}
Run Code Online (Sandbox Code Playgroud)