将每个其他数组元素乘以2

时间:2013-02-23 02:44:08

标签: c# arrays indexof modulus

我有一个10位数的数组。我想乘以2,数组的每个元素都带有偶数索引。具有奇数索引的元素我想要乘以1(实际上,保持不变)。因此,array [0] * 2,array [1] * 1,array [2] * 2等

我尝试在每个元素的索引号上使用模运算符,但我不认为这是我的代码实际上做的。我之前的愚蠢尝试如下:

for (int i = 0; i < 10; i++)
{
    if ((Array.IndexOf(myArray, i) % 2) == 0)
    {
        // multiply myArray[i] by 2
    }
    else // multiply myArray[i] by 1
}

2 个答案:

答案 0 :(得分:1)

此代码适用于列表中的任何no.of元素。 (数组可以包含1个或多个元素)    

myArray = myArray.Select(x => ((Array.IndexOf(myArray, x) % 2 == 0) ? x * 2 : x * 1)).ToArray();

会给你一个整数数组,其中偶数索引元素乘以2,奇数乘以1。

答案 1 :(得分:0)

for (int i = 0; i < 10; i++)
{
    if((i % 2) == 0)
    {
        // multiply myArray[i] by 2
    }
    else // multiply myArray[i] by 1
}

Array.IndexOf(firstParam,secondParam)将为您提供secondParam的索引。例如:

  • arr [0] = 10
  • arr [1] = 3
  • arr [2] = 5
  • arr [3] = 1

Array.IndexOf(arr,1) = 3,Array.IndexOf(arr,3) = 1,等等