我有这个代码运行一个菜单,但它没有显示列表信息。
{{1}}
我遇到的问题是当我按1时菜单没有显示汽车清单。它只是打印:
{{1}}
没有名字。我在这里做错了什么?
答案 0 :(得分:1)
您可以在方法ListaModelo
中创建一个名为ListaModelo
的全新列表,该列表仅填充数字。虽然它具有相同的名称,但它与您在此行Main
方法中实例化的列表不同:
List<Modelo> ListaModelo = new List<Modelo>();
您可以采取的解决问题的方法之一是将List的声明置于Main
方法之外并将其设为static
:
class Program
{
public static List<Modelo> ListaModelo = new List<Modelo>();
static void Main(string[] args)
{
并删除ListaModelo()
方法中的行:
var ListaModelo = new List<int>(Enumerable.Range(0, 3));
要获得有意义的输出,您需要覆盖ToString
类中的Modelo
方法。因此它将显示您想要查看的所有属性。将此方法插入Modelo
类:
public override string ToString()
{
return String.Format("{0} {1} {2} {3}", yourProperty1, yourProperty2, yourProperty3, yourProperty4);
}
另外,请确保要打印的方法的名称和列表ListaModelo
的名称不同。
最后一点!你需要在显示Menu
之前用汽车填充你的清单,否则它将是空的!只需将订单切换到:
List<Modelo> ListaModelo = new List<Modelo>();
ListaModelo.Add(new Modelo("Honda", "Civic", 180, 29000));
ListaModelo.Add(new Modelo("Honda", "Jazz", 100, 15000));
ListaModelo.Add(new Modelo("Honda", "HRV", 115, 22500));
Menu();
答案 1 :(得分:0)
如果你想写汽车清单,你应该在菜单功能中有一个参数:
static void菜单(列表参数)
在ListaModelo同样的问题中,你应该把List作为参数:
然后你可以像这样使用ListaModelo函数:
static void ListaModelo(List param) {
param.ForEach(x=> Console.WriteLine(x.Name));
}