每隔一个数组元素乘以2

本文关键字:数组元素 一个 | 更新日期: 2023-09-27 18:00:45

我有一个由10位数字组成的数组。我想乘以2,数组中的每个元素都有一个偶数索引。索引为奇数的元素我想乘以1(实际上,保持不变)。因此,数组[0]*2、数组[1]*1、数组[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

此代码适用于列表中任何数量的元素。(数组可以有一个或多个元素)

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

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

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等