C# 乘以我的数组值 类程序 { 静态void Main(字符串[]参数) { double[]值=新的double[5]; int i; 双重多重价值; 对于(i=0;i

C# 乘以我的数组值 类程序 { 静态void Main(字符串[]参数) { double[]值=新的double[5]; int i; 双重多重价值; 对于(i=0;i,c#,arrays,C#,Arrays,我想知道为了乘以数组中的每个值,我到底要做什么。例如,如果用户将每个值输入为10、20、30、40、50,然后将其乘以2,那么我希望每个元素的值更改为20、40、60、80、100,然后显示。我想用循环处理这个问题会更容易,但我不知道怎么做。 谢谢 要将数组中的所有项相乘,只需使用另一个循环即可 class Program { static void Main(string[] args) { double[] values = new double[5];

我想知道为了乘以数组中的每个值,我到底要做什么。例如,如果用户将每个值输入为10、20、30、40、50,然后将其乘以2,那么我希望每个元素的值更改为20、40、60、80、100,然后显示。我想用循环处理这个问题会更容易,但我不知道怎么做。
谢谢

要将数组中的所有项相乘,只需使用另一个循环即可

class Program
{
    static void Main(string[] args)
    {
        double[] values = new double[5];
        int i;
        double multValue;

        for (i = 0; i < 5; i++)
        {
            Console.Write("Enter value for number " + (i+1) + ": ");
            values[i] = double.Parse(Console.ReadLine());
        }
        Console.Write("Enter a value to multiply by: ");
        multValue = double.Parse(Console.ReadLine());

        values[1] = values[1] * multValue;
        values[2] = values[2] * multValue;
        values[3] = values[3] * multValue;
        values[4] = values[4] * multValue;
        values[5] = values[5] * multValue;

        Console.WriteLine("The new value for values[1] is: " + values[1]);
        Console.WriteLine("The new value for values[2] is: " + values[2]);
        Console.WriteLine("The new value for values[3] is: " + values[3]);
        Console.WriteLine("The new value for values[4] is: " + values[4]);
        Console.WriteLine("The new value for values[5] is: " + values[5]);

        Console.ReadLine();
    }
}
for(i=0;i
每当我运行代码时,“IndexOutOfRangeException未处理” 消息传来了

错误
IndexOutOfRangeException
是因为
Array
索引从0到Array size-1。您正在尝试访问
值[5]=值[5]*multValue中
值的索引

您可以使用LINQ扩展方法:

for (i = 0; i < values.Length ; i++)
{
    values[i] *= multValue; // short for values[i] = values[i] * multValue
}

您好,我希望以下帮助;使用循环应该是这样的:

values = values.Select(d => d * multValue).ToArray();

for(int i=0;i一个循环用于乘法,另一个循环用于打印

使用以下命令:

for(int i= 0; i<values.length; i++){
     values[i] = values[i] * multValue;
}
// One loop to multiply them
for (int i = 0; i < values.Length; i++)
{
    values[i] *= multValue;
}

// One loop to print them
for (int i = 0; i < values.Length; i++)
{
    Console.WriteLine("The new value for values[{0}] is: {1}", i, values[i]);
}

你将初始值收集为一个循环。在类似的循环中,你在努力做什么乘法呢?每当我运行代码时,就会出现一条“IndexOutOfRangeException was unhandled”(IndexOutOfRangeException was unhandled)消息。我根本不知道为什么。:\因为C#数组使用基于零的索引,即第一个元素是0。行值[5]=值[5]*multValue不好。最大索引值始终为length-1=>4数组和循环像面包和黄油一样结合在一起。当您发现自己复制和粘贴一行代码只是为了更改数组索引时,您应该使用循环。如果您尝试此操作并收到错误消息,您应该向我们显示您尝试了什么以及确切的错误消息,以便我们可以帮忙。
values[1] = values[1] * multValue;
values[2] = values[2] * multValue;
values[3] = values[3] * multValue;
values[4] = values[4] * multValue;
values[5] = values[5] * multValue;

Console.WriteLine("The new value for values[1] is: " + values[1]);
Console.WriteLine("The new value for values[2] is: " + values[2]);
Console.WriteLine("The new value for values[3] is: " + values[3]);
Console.WriteLine("The new value for values[4] is: " + values[4]);
Console.WriteLine("The new value for values[5] is: " + values[5]);