float[] xPos = new float[pt3f.Count];
float[] yPos = new float[pt3f.Count];
float[] zPos = new float[pt3f.Count];
for (int i = 0; i < pt3f.Count; i++)
{
xPos[i] = pt3f[i].X;
yPos[i] = pt3f[i].Y;
zPos[i] = pt3f[i].Z;
}
我知道我可以在這裏使用LINQ
var xPos = pt3f.Select(I => I.X).ToArray();
var yPos = pt3f.Select(I => I.Y).ToArray();
var zPos = pt3f.Select(I => I.Z).ToArray();
所以我的問題是除了一個更清潔的代碼使用LINQ,有沒有性能優勢?
我認爲就性能而言,使用單個for循環更快,我是對的,即3個Linqs最終將轉換爲3個循環。
不,相反你在這種情況下表現不好。最後不是一個大問題,但你應該測量。 – Steve