菜单未显示列表结果

时间:2017-05-23 14:44:46

标签: c# arrays list menu

我有这个代码运行一个菜单,但它没有显示列表信息。

{{1}}

我遇到的问题是当我按1时菜单没有显示汽车清单。它只是打印:

{{1}}

没有名字。我在这里做错了什么?

2 个答案:

答案 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)

  1. 如果你想写汽车清单,你应该在菜单功能中有一个参数:

    static void菜单(列表参数)

    1. 在ListaModelo同样的问题中,你应该把List作为参数:

    2. 然后你可以像这样使用ListaModelo函数:

      static void ListaModelo(List param)      {

              param.ForEach(x=> Console.WriteLine(x.Name));
      
       }