【发布时间】:2017-04-03 13:19:20
【问题描述】:
我的导师希望我们创建一个包含 10 个元素的数组,然后使用控制台输入用随机数填充它,然后将所有数字相乘以获得乘积。我不知道如何将数组传递给方法,然后成功获取产品。我是否使用 for 循环?我认为我不能使用 foreach 循环,因为它可能会被部分填充。我如何首先将数组传递给方法?
这是我迄今为止将值存储在数组中的内容。
for (int i = 0; i < SIZE; i++)
{
bool valid = false;
do
{
Write("Enter an integer value or 0 to stop ");
string input = ReadLine();
valid = int.TryParse(input, out userInput);
} while (!valid);
if (userInput == 0)
{
break;
}
array[i] = userInput;
}
product = p.ArrayProduct(array.Length);
【问题讨论】:
-
您可以像传递任何其他对象一样传递数组。在 C# 中,数组长度信息由数组本身携带,因此您不需要在额外的参数中传递长度(这与 C 不同)。一个电话可能看起来像
product = mutiplyElems(array);。你也可以看看 linq 能为你做什么,但对于初学者来说有点神秘。 -
要处理部分使用的数组,您必须创建单独的变量来跟踪用户输入了多少项目。然后,您必须将该值与数组一起传递给任何进行处理的方法,以便他们知道要使用数组的多少个槽。
-
我该怎么做?
-
听起来你真的应该使用
List<int>而不是int[],随着新项目的添加,它会增长。 -
附带说明,获取产品不需要将数字存储在集合中,但任务似乎是让您熟悉数组的基础知识(即使它们很少用于高级 C#)