Я беру базовый курс по программированию на C #, никогда не программировал ничего раньше. Одним из наших упражнений является создание программы, которая может сдавать в аренду фильмы (например, видеомагазин) с нуля.
Один из моих классов содержит клиентов. Мне нужен метод, при котором пользователь программы может добавлять клиентов в первый список, и отдельный метод, в котором отображаются все клиенты, содержащие вновь добавленных клиентов; или если не добавлено ни одного клиента, то исходные.
Это то, что я сделал до сих пор:
- Я создал
List<T>
для оригинальных клиентов.
- Я создал метод, который позволяет добавлять клиентов в первый список и отображать их в ОДНОМ методе.
Проблема в том, что я не знаю, как обновить исходный список клиентов теми, которые добавляет пользователь. Если я вызову весь метод, он, очевидно, (даже для меня ..) вернет весь метод и заставит пользователя снова добавлять клиентов. Я пытался создать два List<T>
s, но как мне сделать оригинальное обновление списка, чтобы включить клиентов, которых добавляет пользователь? Мне удалось вызвать первый список из второго, но обратное не работает.
Я пытался, пытался и пытался, но у меня просто кончились идеи! Для меня даже получить это далеко было довольно сложной задачей. Я думал о том, чтобы отказаться от всего этого. Программирование не легкое.
Если у кого-нибудь есть предложения, я был бы очень рад!
namespace MyNameSpace
{
public class Customers
{
public Customers()
{
}
public string Name
{
get;
set;
}
public string Tel
{
get;
set;
}
public List<Customers> CustomerList1() //Original customers
{
List<Customers> newCustomer = new List<Customers>
{
new Customers
{
Name="A",
Tel="1"
},
new Customers
{
Name="H",
Tel="2"
},
};
return newCustomer;
}
public List<Customers> CustomerList2() //User adds new customers
{
List<Customers> custList = CustomerList1();
Console.WriteLine("---------------------------");
Console.WriteLine("New Customer");
Console.WriteLine("---------------------------");
Console.WriteLine("Name:");
Console.WriteLine("Tel:");
List<Customers> addedCustomer = new List<Customers>
{
new Customers //There is most likely a better way...
{
Name=Console.ReadLine(),
Telephone=Console.ReadLine()
}
};
custList.AddRange(addedCustomer);
Console.WriteLine("***************List******************");
foreach (Customers c in custList)
{
Console.WriteLine();
Console.WriteLine(c.Name);
Console.WriteLine(c.Tel);
Console.WriteLine();
}
Console.WriteLine("******************************************");
return addedCustomer;
}
public void CustomerView() //This method only returns original list
{
List<Customers> customers = CustomerList1();
foreach (Customers c in customers)
{
Console.WriteLine();
Console.WriteLine(c.Name);
Console.WriteLine(c.Tel);
Console.WriteLine();
}
Console.WriteLine("*******************");
}
public void CustomerListAdd() //This is another method I´ve tried to add
{ customers..
List<Customers> customers = CustomerList1();
Console.WriteLine("");
Console.WriteLine("---------------------------");
Console.WriteLine("New Customer");
Console.WriteLine("---------------------------");
Customers customerAdd = new Customers();
Console.WriteLine("Name:");
customerAdd.Name = Console.ReadLine();
Console.WriteLine("Tel:");
customerAdd.Telephone = Console.ReadLine();
customers.Add(customerAdd);
Console.WriteLine();
foreach (Customers c in customers)
{
Console.WriteLine();
Console.WriteLine(c.Name);
Console.WriteLine(c.Tel);
Console.WriteLine();
}
Console.WriteLine("*******************");
}
}
}
Заранее спасибо