日期:2014-05-17  浏览次数:20868 次

简单问题,新手求救
List<double[]> CombineArraylistContainer = new List<double[]>();
List<double[]> positionarraylistR = new List<double[]>();

foreach (int i in positionarraylistR)
    CombineArraylistContainer.Add(positionarraylistR[i]);

foreach底下出现红线,错误提示说无法将double[]转换成int
这是怎么回事?
list 新手

------解决方案--------------------
foreach (double i in positionarraylistR)
     CombineArraylistContainer.Add(i);


for(int i=0;i<positionarraylistR.Count();i++)
     CombineArraylistContainer.Add(positionarraylistR[i]);
------解决方案--------------------
数组时double的,你的i是int型,改成float型吧,或者对i进行转换Convert
------解决方案--------------------
foreach 和 for 循环不一样,positionarraylistR 的里放的是double[],你int i把它当int类型用当然错误了。
------解决方案--------------------
positionarraylistR里边存的是double类型的,你怎么用int类型遍历。。。
------解决方案--------------------
foreach (int i in positionarraylistR)
这里的写法是调用positionarraylistR里面的值, 而positionarraylistR里面的值是double类型, 所以调用失败.

根据你的情况, 估计你应该用for来循环, 如下:
for (int i = 0; i < positionarraylistR.Count; i++)
   CombineArraylistContainer.Add(positionarraylistR[i]);