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();
}
}
想知道为了将数组的每个值相乘,我到底需要做些什么。因此,例如,如果用户将每个值输入为10,20,30,40,50然后将其乘以2,那么我希望将每个元素的值更改为20,40,60,80,100然后显示。我当时认为用循环处理它会更容易,但我失去了如何做到这一点。 谢谢!
答案 0 :(得分:3)
您可以使用LINQ Select()扩展方法:
values = values.Select(d => d * multValue).ToArray();
答案 1 :(得分:3)
一个用于乘法的循环和另一个用于打印的循环。
使用以下内容:
compile 'me.neavo:vitamio:4.2.2'
代替:
// 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]);
}
答案 2 :(得分:2)
要乘以数组中的所有项目,只需使用另一个循环
for (i = 0; i < values.Length ; i++)
{
values[i] *= multValue; // short for values[i] = values[i] * multValue
}
每当我运行代码时,“IndexOutOfRangeException未处理” 消息出现
错误IndexOutOfRangeException
是因为Array
索引从0到数组大小 - 1.您正尝试在values
中访问values[5] = values[5] * multValue;
大小的索引。
答案 3 :(得分:0)
嗨,我希望以下有帮助;使用循环应该是这样的:
for(int i= 0; i<values.length; i++){
values[i] = values[i] * multValue;
}