C#将Vector3d / Point3d转换为double []

时间:2017-12-14 14:38:33

标签: c# vector double

我需要一个double [],我有一个Point3d或一个Vector3d。如何将Point或Vector转换为double []? 我使用以下代码创建了Point和Vector:

Point3d pos1 = new Point3d();
Point3d pos2 = new Point3d();
GetPosition(out pos1, out pos2);
Vector3d a = new Vector3d(pos1.X, pos1.Y, pos1.Z);

double[] move_mapped = new double[3];

2 个答案:

答案 0 :(得分:2)

您可以使用[]初始化程序语法,如下所示:

double[] move_mapped = new double[] {
    pos1.X, pos1.Y, pos1.Z
};

相同的语法适用于Vector3d。您还可以使用“快捷方式”语法:

var move_mapped = new[] {a.X, a.Y, a.Z};

答案 1 :(得分:2)

就像实例化Vector3d

一样简单
double[] move_mapped = new double[] {pos1.X, pos1.Y, pos1.Z};

或使用较短的数组初始化程序

double[] move_mapped = {pos1.X, pos1.Y, pos1.Z};