Я абсолютный новичок в c#, я застрял в своем первом консольном приложении на чем-то очень простом c, но я не могу пройти мимо.
Я хочу иметь возможность принимать пользовательский ввод, записывать его в список и отображать элементы в списке обратно ко мне.
Вот как я создал свой список, насколько я понимаю, он инициализирован без каких-либо значений.
class PersonRegistry
{
// Create a registry of Persons
public static List<Person> Registry = new List<Person>();
}
Я создал свой класс person:
class Person
{
private Guid Guid {get; set;}
private string FirstName {get; set;}
private string LastName {get; set;}
private double SalaryPerHour {get; set;}
private double SalaryPerDay {get; set;}
private double RechargePerHour {get; set;}
private double RechargePerDay {get; set;}
public Person(string firstName, string lastName, double salaryPerHour, double salaryPerDay, double rechargePerHour, double rechargePerDay)
{
this.Guid = new Guid(); // set Guid when object is created
this.FirstName = firstName;
this.LastName = lastName;
this.SalaryPerHour = salaryPerHour;
this.SalaryPerDay = salaryPerDay;
this.RechargePerHour = rechargePerHour;
this.RechargePerDay = rechargePerDay;
}
}
Я принимаю пользовательский ввод:
class Program
{
static void Main()
{
Console.WriteLine("Please enter your first name");
string firstName = Console.ReadLine();
Console.WriteLine("Please enter your last name");
string lastName = Console.ReadLine();
Console.WriteLine("Please enter your salary per hour");
double salaryPerHour = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Please enter your salary per day");
double salaryPerDay = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Please enter your recharge per hour");
double rechargePerHour = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Please enter your recharge per day");
double rechargePerDay = Convert.ToDouble(Console.ReadLine());
И вот где я пишу в список:
PersonRegistry.Registry.Add(new Person(firstName, lastName, salaryPerHour, salaryPerDay, rechargePerHour, rechargePerDay));
Сначала я попытался сделать это, чтобы затем программа напечатала элементы в списке, но это не сработало:
//PersonRegistry.Registry.ForEach(Console.WriteLine); - doesn't work as expected, us for loop?
А потом я попытался использовать для l oop, который также не работает:
for (int i = 0; i < PersonRegistry.Registry.Count; i++)
{
Console.WriteLine(PersonRegistry.Registry[i]);
}
}
}