【发布时间】:2020-04-25 16:49:00
【问题描述】:
我对 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),我明白了
当前上下文中不存在名称“soups” 错误。
编辑:如果有人在一段时间后遇到同样的问题,请在此处保留此编辑。我检查了以下两个建议,它们都对我有用。但是,我选择了 li223 的第二种建议方式,因为它正是我想要的。修改代码的技巧也很有用。
【问题讨论】:
-
仅供参考,您不必将标题更改为“已解决”——如果有可接受的答案,那么我们知道您已经找到了解决问题的方法!