1

我有一个 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
}
4

2 回答 2

1

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

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

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

于 2013-02-23T03:13:30.433 回答
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 等。

于 2013-02-23T02:47:40.877 回答