我是C#(以及其他所有编码语言)的新手,我的任务是创建一个对象数组,并将该数组作为参数传递给另一个将显示所有元素的方法。
我的问题很简单,可能很愚蠢。我试图将数组返回到Main并调用displayAll()。我只是不知道在参数括号内放什么。
static void Main(string[] args)
{
addnew();
displayAll(); //how to write object array as argument
}
public static object[] addnew()
{
int i;
Console.WriteLine("How many Clients would you like to add? ");
int size = Convert.ToInt32(Console.ReadLine());
Client[] clArray = new Client[size];
for (i = 0; i < clArray.Length; i++)
{
Client client = new Client();
Console.WriteLine($"Client " + (i + 1));
Console.WriteLine("Enter First Name: ");
client.firstName = Console.ReadLine();
Console.WriteLine("Enter Last Name: ");
client.lastName = Console.ReadLine();
Console.WriteLine("Enter Client ID: ");
client.clientID = (Console.ReadLine());
Console.WriteLine("Enter Purchase Amount: ");
client.purchase = Convert.ToInt32(Console.ReadLine());
clArray[i] = client;
}
return clArray;
}
public static void displayAll(Client[] x)
{
for (int i = 0; i < x.Length; i++)
{
object client = x[i];
Console.WriteLine(client);
}
}
答案 0 :(得分:1)
您需要将变量放在括号中,从而使调用看起来类似于方法声明。这种相似性就是为什么声明和调用方法都使用()
的原因。
在这种情况下,您可以调用第一个方法并将其返回值直接通过传递给第二个方法
displayAll(addnew());
这会将addnew
的返回值发送到displayAll
而不将其保存到变量中。为了调试和提高可读性,通常需要保存到变量并在其中传递那个;
var data = addnew();
displayAll(data);
答案 1 :(得分:0)
您可以使用以下代码调用该方法:
displayAll(addnew());