我想在控制台应用中创建一个用户数组,但似乎无法正确使用,有人可以帮忙,这是我的代码。
class Program
{
static void InputUser(User U)
{
Console.WriteLine("Please enter a User:");
Console.WriteLine("User ID:");
U.ID = int.Parse(Console.ReadLine());
Console.WriteLine("Titel:");
U.Titel = Console.ReadLine();
Console.WriteLine("Name:");
U.Name = Console.ReadLine();
Console.WriteLine("Surname:");
U.Surname = Console.ReadLine();
Console.WriteLine("Telephone Number:");
U.Telephone = int.Parse(Console.ReadLine());
Console.WriteLine();
}
static void Main()
{
User[] users = new User[2]
{
InputUser(new User);
}
}
}
答案 0 :(得分:2)
首先,更改InputUser
方法以返回将使用用户输入构造的User
对象:
static User InputUser()
{
User U = new User();
Console.WriteLine("Please enter a User:");
Console.WriteLine("User ID:");
U.ID = int.Parse(Console.ReadLine());
Console.WriteLine("Titel:");
U.Titel = Console.ReadLine();
Console.WriteLine("Name:");
U.Name = Console.ReadLine();
Console.WriteLine("Surname:");
U.Surname = Console.ReadLine();
Console.WriteLine("Telephone Number:");
U.Telephone = int.Parse(Console.ReadLine());
Console.WriteLine();
return U;
}
然后调用InputUser
方法两次,因为您正在初始化大小为2的User
个对象数组:
static void Main()
{
User[] users = new User[2]
{
InputUser(),
InputUser()
}
}
答案 1 :(得分:1)
将主要方法更改为:
static void Main()
{
User[] users = new User[2];
for (int i=0;i<users.Length; i++)
{
users[i] = new User();
InputUser(users[i]);
}
}
答案 2 :(得分:0)
User[] users = new User[2]
只会创建一个User数组,但它不会初始化它们。
对于他们每个人,您需要创建一个用户。
所以在它之后添加一个循环:
for (int i=0;i<users.Length; i++)
{
users[i] = InputUser(users[i]);
}
答案 3 :(得分:0)
InputUser需要通过引用传递User对象(ref关键字),或者需要返回User的新实例而不是接受参数。