C# 菜单不显示列表结果
我有一个运行菜单的代码,但它没有显示列表信息C# 菜单不显示列表结果,c#,arrays,list,menu,C#,Arrays,List,Menu,我有一个运行菜单的代码,但它没有显示列表信息 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Teste_Menu { class Program { static void Main(string[] args) { M
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Teste_Menu
{
class Program
{
static void Main(string[] args)
{
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));
}
static void Menu()
{
string escolha;
do
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine("\n");
Console.WriteLine(" ==================================================================================================== ");
Console.WriteLine(" =========================================== Carros ================================================= ");
Console.WriteLine(" ==================================================================================================== \n\n");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(" * Consultar Lista de Carros -----------------------------------------------> (1)\n ");
escolha = Console.ReadLine();
switch (escolha)
{
case "1": ListaModelo();
break;
}
Console.ReadLine();
}
while (escolha != "2");
}
static void ListaModelo()
{
{
var ListaModelo = new List<int>(Enumerable.Range(0, 3));
ListaModelo.ForEach(Console.WriteLine);
}
}
}
}
没有名字。我在这里做错了什么?您在方法ListaModelo中创建了一个名为ListaModelo的全新列表,该列表仅用数字填充。尽管名称相同,但它与您在此行的Main方法中实例化的列表不同:
List<Modelo> ListaModelo = new List<Modelo>();
并删除ListaModelo方法中的行:
另外,请确保要打印的方法的名称与列表ListaModelo的名称不同
最后一点!在显示菜单之前,您需要在列表中填入汽车,否则它将是空的!只需将顺序切换到:
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();
如果你想写汽车清单,你应该在菜单功能中有一个参数:
静态void MenuList参数
在ListaModelo中,同样的问题,您应该将List作为参数:
然后,您可以使用ListaModelo函数,如下所示:
静态无效列表参数
{
当你按下1键时,方法ListaModelo被调用,它会创建一个新的int列表,然后将它们全部打印出来,实际输出是0 1 2你应该将ListaModelo设置为一个类变量,然后在Main中赋值,然后只在ListaModelo中写入输出而不覆盖你的列表。我这样做了,但我得到了这个错误-错误2“Teste_Menu.Program.ListaModelo”和“Teste_Menu.Program.ListaModelo”之间的关系@Dany4k您需要更改其中一个。编译器无法区分。图像中您会对水果说“苹果”这个词,而对吃苹果的意思是同一个词,您会如何区分?比如在菜单上使用ListaModelo1,并将ListaModelo保留在列表中?@Dany4k完全正确,或者给这个方法起一个更有意义的名字,比如printCarInformation或ConsultarListaDeCarros@Dany4k最后一点,你需要切换显示菜单和填写列表的顺序。看看我答案的最后几行,我做了编辑。
class Program
{
public static List<Modelo> ListaModelo = new List<Modelo>();
static void Main(string[] args)
{
var ListaModelo = new List<int>(Enumerable.Range(0, 3));
public override string ToString()
{
return String.Format("{0} {1} {2} {3}", yourProperty1, yourProperty2, yourProperty3, yourProperty4);
}
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();
param.ForEach(x=> Console.WriteLine(x.Name));
}