【发布时间】:2012-11-13 04:47:00
【问题描述】:
我有一个 float[n,128] 数组。现在我想将每一行转换为一个单独的向量,如下所示:
//这里的代码是伪代码
int n=48;
float[,] arrFloat=new float[n,128];
VectorOfFloat v1 = new VectorOfFloat(128); // Vn equals to number of n
v1= arrFloat[0];
v2=arrFloat[1]
.
.
.
.
Vn
优化方式是什么?
我可以编写如下代码,但我认为应该有更好的方法:
List<VectorOfFloat> descriptorVec = new List<VectorOfFloat>();
VectorOfFloat v1 = new VectorOfFloat();
var temp = new float[128];
for (int i = 0; i < descriptors1.GetLength(0); i++)
{
for (int j = 0; j < descriptors1.GetLength(1); j++)
{
temp[j] = descriptors1[0, j];
}
v1.Push(temp);
descriptorVec.Add(v1);
}
【问题讨论】:
-
循环有什么问题? (你可以很容易地展示代码......)
-
我想知道是否还有另一种技术[更简洁],例如Linq,lamda表达式等