Я довольно новичок в C# и застрял с проблемой, которую я пытался решить в течение некоторого времени. Я должен создать классы для разных видов еды из меню и ввести значения полей из консоли. Проблема в том, что входные данные будут содержать неизвестное количество каждого типа пищи, поэтому я решил использовать Список, в котором я собираюсь хранить различные типы, в данном случае, супов.
Это код для одного из классов еды:
public class Soup : Food
{
public List<Soup> soups = new List<Soup>();
public Soup(string name, double grams, decimal price) : base(name, grams, price)
{
}
}
Код ниже от класса вызывающего. Я получаю ввод от пользователя, но я застрял с доступом к списку, чтобы я мог добавить еще один элемент к нему. Я был бы очень признателен, если бы кто-нибудь дал мне несколько советов по доступу к списку из класса Soup из списка вызовов, чтобы я мог добавить новый элемент.
int countProducts = int.Parse(Console.ReadLine());
char[] delimeters = new char[] { ',', ' ' };
CultureInfo cultures = new CultureInfo("en-US");
for (int i = 0; i < countProducts; i++)
{
string[] inputProductInfo = Console.ReadLine().ToLower().Split(delimeters, StringSplitOptions.RemoveEmptyEntries).ToArray();
if (inputProductInfo[0] == "soup")
{
Soup soup = new Soup(inputProductInfo[1], Convert.ToDouble(inputProductInfo[2], cultures), Convert.ToDecimal(inputProductInfo[3], cultures));
}
}
В принципе, мне нужно дать soup
в список soups
, но когда я пытаюсь использовать следующий код soups.Add(soup)
, я получаю
Имя «супы» не существует в текущем контексте ошибки.
РЕДАКТИРОВАТЬ: Оставьте это редактирование здесь, если у кого-то возникнет та же проблема через некоторое время Я проверил оба предложения ниже, и оба они работали на меня. Однако я выбрал второй предложенный способ li223 , поскольку это было именно то, что я искал. И совет для изменения кода был также полезен.