如题。
因为一些必需的原因,原数组或list内每个元素(float型)保存的值要同时做相同的计算

int[] a=new int [5]{1,2,3,4,5};
现在要求每个元素存元素值*2+1,变成{3,5,7,9,11}
必须做5次循环对每个元素单独计算吗?
有没有办法用一两个语句对整个数组操作从而实现对每个元素进行相同的元素?

解决方案 »

  1.   

    划线,本来有个数组a[100000],直接g.drawLines(pen,a)就行了,可是因为比例尺的原因,每次都要对a中各元素重新乘以新的比例尺系数,使得速度慢了太多
      

  2.   


    有,不用循环。直接写,效率比循环高。
    a[0] = a[0]*2+1;
    a[1] = a[1]*2+1;
    a[2] = a[2]*2+1;
    a[3] = a[3]*2+1;
    a[4] = a[4]*2+1;有例子为证,看我自己的Int.Parse,效果比系统的快40%。
    快速的Int32.Parse,比系统的快。 
      

  3.   

    int[] a = new int[5] { 1, 2, 3, 4, 5 };
    int[] b = new int[5];
     for (int i = 0; i < a.Length; i++)
     {
          b[i] = a[i] * 2 + 1;
     }
    这样就可以啦