我正在使用 3D 坐标。我将它们全部保存到一个列表中,但要继续使用它们,我需要将它们放入一个多维数组(float[,])中。
我的列表如下所示:
<Coordinates> hp_List = new List<Coordinates>();
public class Coordinates
{
public float x { get; set; }
public float y { get; set; }
public float z { get; set; }
}
我尝试了以下代码:
int R = hp_List.Count();
float[,] hp_array = new float[R, 3];
for(int i=0; i<R; i++)
{
for (int j = 0; j < hp_List.Count; j++)
{
hp_array[i, 0] = hp_List[j].x;
hp_array[i, 1] = hp_List[j].y;
hp_array[i, 2] = hp_List[j].z;
}
}
我也尝试了另一种方式:
for(int i=0; i<R; i++)
{
foreach (Coordinates hp_position in hp_List)
{
hp_array[i, 0] = hp_position.x;
hp_array[i, 1] = hp_position.y;
hp_array[i, 2] = hp_position.z;
}
}
我期望以下输出:
589,5 -75,4 238,4
46,2 173,2 70,9
45,7 173,4 70,9
160,9 75,5 75,4
160 76 75,2
156,1 83,9 73,6
我的实际输出是
156,1
83,9
73,6
156,1
83,9
73,6
156,1
83,9
73,6
156,1
83,9
73,6
156,1
83,9
73,6
156,1
83,9
73,6
如您所见,这是我列表中的最后一个元素。
我不确定我的错误在哪里。