我对将什么作为“output();”
的参数感到困惑我需要让它显示已经创建的数组的内容,但我感到困惑的是它的数组而不仅仅是变量......我认为它应该是输出(值);但是你可能会说的那些以及许多其他猜测都没有奏效。
我被告知你在那里放入了你在main中创建的变量,但这些变量不起作用。
using System;
namespace Lab16
{
class Program
{
static void Main(string[] args)
{
int value;
Console.Write("How big of an Array? ");
int arraySize = int.Parse(Console.ReadLine());
int[] arr = new int[arraySize];
for (int i = 0; i <= arraySize - 1; i++)
{
Console.Write("First Value: ");
value = int.Parse(Console.ReadLine());
arr[i] = Convert.ToInt32(value);
}
output();
}
static void output(ref int value, ref Array arr, ref int arraySize)
{
foreach (int i in arr)
{
for (int v = 1; v <= arraySize; v++)
{
string number = "Number: ";
Console.WriteLine("{0}{1} {2}", number, v, i);
Console.ReadLine();
}
}
}
}
}
答案 0 :(得分:2)
首先,为什么所有参考?它们似乎没有任何用途,以及从未使用过的第一个参数:
static void output(Array arr, int arraySize)
{
foreach (int i in arr)
{
for (int v = 1; v <= arraySize; v++)
{
string number = "Number: ";
Console.WriteLine("{0}{1} {2}", number, v, i);
Console.ReadLine();
}
}
}
现在使用
output(arr, arraySize);
第二个参数也可以被剥离,因为C#数组在字段中保存它们的长度:
static void output(Array arr)
{
foreach (int i in arr)
{
for (int v = 1; v <= arr.Length; v++)
{
string number = "Number: ";
Console.WriteLine("{0}{1} {2}", number, v, i);
Console.ReadLine();
}
}
}
并使用:
output(arr);
答案 1 :(得分:2)
您应该将数组作为参数发送到此方法:
static void output(int[] arr)
{
for (int i = 0; i< arr.Length; i++)
{
string number = "Number: ";
Console.WriteLine("{0}{1} ", number, arr[i]);
Console.ReadLine();
}
}
答案 2 :(得分:2)
使用此:
static void output(int[] myArray)
{
for (int i = 0; i< myArray.Length; i++)
{
string number = "Number: ";
Console.WriteLine("{0}{1} {2}", number, v, i);
Console.ReadLine();
}
}
但是在调用函数时不要忘记传递参数:
output(myArray)
因为输出期望接收数组。放下所有参考文献。
myArray.Length
已经存储了数组的大小。
答案 3 :(得分:0)
我不确定value参数是什么,但是arr将是你的数组,arr,而arraySize是你的变量arraySize。输出(value,arr,arraySize)
也是如此