如何将数组中的每个元素与循环c#相乘

时间:2018-01-17 00:10:58

标签: c# arrays loops

我试图将三个不同数组中的每个元素乘以一个循环但是我遇到了麻烦。我真的很新,所以请原谅任何明显的错误大声笑我甚至不确定我使用正确的循环,但继承人到目前为止我所拥有的:

int[] firstArray = new int[] { 1, 2, 5, 6, 9 };
int[] secondArray = new int[] { 12, 3, 8, 20, 7 };
int[] thirdArray = new int[] { 2, 4, 6, 8, 10, 12 };

  foreach(new int [5] in firstArray)
{
   int newArray1= firstArray.Length * 2;
    Console.WriteLine(newArray1);
}

我希望它打印出第一个新阵列为" 2,4,10,12,18和#34;在控制台中但是当我运行它时,我在foreach语句中都需要错误类型和标识符。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

如果您只想显示加倍值:

foreach(int value in firstArray)
{
    Console.WriteLine(2 * value);
}

如果要将中的值加倍,那么:

for(int i = 0 ; i < firstArray.Length ; i++)
{
    firstArray[i] *= 2;
}

然后可能要显示这些值:

foreach(int value in firstArray)
{
    Console.WriteLine(value);
}

如果要创建值为doubled的新数组:

var doubledArray = Array.ConvertAll(firstArray, x => 2 * x);

输出这些值:

foreach(int value in doubledArray)
{
    Console.WriteLine(value);
}

答案 1 :(得分:1)

使用Linq

执行此操作
int[] resultFirstArray = firstArray.Select(r=> r * 2).ToArray();
int[] resultSecondArray = secondArray.Select(r=> r * 2).ToArray();
int[] resultThirdArray = thirdArray.Select(r=> r * 2).ToArray();

或者您可以使用Array.ConvertAll

  

Array.ConvertAll转换整个数组。它将一个数组中的所有元素转换为另一个类型。

var resultFirstArray = Array.ConvertAll(firstArray, x => 2 * x);
var resultSecondArray = Array.ConvertAll(secondArray, x => 2 * x);
var resultThirdArray = Array.ConvertAll(thirdArray, x => 2 * x);