将多个项添加到列表中

static class Program { static void Main(string carMake, string carModel, string carColour, string bikeModel, string bikeMake, string bikeColour, string truckMake, string truckModel, string truckColour) { car Mynewcar = new car(); motorbike Mynewbike = new motorbike(); truck Mynewtruck = new truck(); int choice = 0; while (choice != 5) { Console.WriteLine("MENU"); Console.WriteLine("What service do you need"); Console.WriteLine("1. Car"); Console.WriteLine("2. Motorbike"); Console.WriteLine("3. Truck"); Console.WriteLine("4. Search"); Console.WriteLine("5. Exit"); choice = int.Parse(Console.ReadLine()); switch (choice) { case 1: Console.WriteLine("What is the car make?"); Mynewcar.make = Console.ReadLine().ToLower(); carMake = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("What is the car model?"); Mynewcar.model = Console.ReadLine().ToLower(); carModel = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("What is the car Colour?"); Mynewcar.colour = Console.ReadLine().ToLower(); carColour = Console.ReadLine(); Console.WriteLine(""); break; case 2: Console.WriteLine("what is the motorbike make"); Mynewbike.make = Console.ReadLine().ToLower(); bikeMake = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("what is the motorbike model"); Mynewbike.model = Console.ReadLine().ToLower(); bikeModel = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("what is the motorbike colour"); Mynewbike.colour = Console.ReadLine().ToLower(); bikeColour = Console.ReadLine(); Console.WriteLine(""); break; case 3: Console.WriteLine("what is the trucks make"); Mynewtruck.make = Console.ReadLine().ToLower(); truckMake = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("what is the trucks model"); Mynewtruck.model = Console.ReadLine().ToLower(); truckModel = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("what is the trucks colour"); Mynewtruck.colour = Console.ReadLine().ToLower(); truckColour = Console.ReadLine(); Console.WriteLine(""); break; case 4: string searchchoice = ""; Console.WriteLine("select Car, Motobike or truck to search?"); searchchoice = Console.ReadLine().ToLower(); if (searchchoice.Equals("car")) { Console.WriteLine("Car in inventory: {0} - {1} - {2}", carMake, carModel, carColour); } else if (searchchoice.Equals("motorbike")) { Console.WriteLine("Motorbike in inventory: {0} - {1} - {2}", bikeMake, bikeModel, bikeColour); } else { Console.WriteLine("Trucks in inventory: {0} - {1} - {2}", truckMake, truckModel, truckColour); } Console.ReadLine(); break; case 5: break; default: Console.WriteLine("Sorry, invalid selection"); break; } } } class car { public string make { get; set; } public string model { get; set; } public string colour { get; set; } public List carList(car Mynewcar) { List caradd = new List(); caradd.Add(Mynewcar.make); string carMake = Mynewcar.make; caradd.Add(Mynewcar.model); string carModel = Mynewcar.model; caradd.Add(Mynewcar.colour); string carColour = Mynewcar.model; return caradd; } } class motorbike : car { public List bikeList(motorbike Mynewbike) { List bikeadd = new List(); bikeadd.Add(Mynewbike.model); string bikeModel = Mynewbike.model; bikeadd.Add(Mynewbike.make); string bikeMake = Mynewbike.make; bikeadd.Add(Mynewbike.colour); string bikeColour = Mynewbike.colour; return bikeadd; } } class truck : car { public List truckList(truck Mynewtruck) { List truckadd = new List(); truckadd.Add(Mynewtruck.make); string truckMake = Mynewtruck.make; truckadd.Add(Mynewtruck.model); string truckModel = Mynewtruck.model; truckadd.Add(Mynewtruck.colour); string truckColour = Mynewtruck.colour; return truckadd; } } } 

我只是想知道是否有人可以查看我的代码,看看我可以改进哪些方面。

此外,我正在努力为汽车,自行车和卡车的列表添加多个项目。 你会怎么做,这样你可以添加属性的多个实例并将它们列出到控制台?

代码检查:

这是offtopic,但CodeReview的人非常乐意为您提供帮助。

我强烈建议你这样做,你的代码中有几件需要注意的事情。 同样地,我建议你开始阅读教程,因为没有充分的理由不这样做。

列表:

正如你自己说的:你需要一个项目清单。 它现在的方式只存储对一个项目的引用。 幸运的是,确实存在一组相关对象: List

列表非常简单易用,但无论如何都要查看相关文档。

在列表中保留多个自行车的一个非常简单的示例:

 List bikes = new List(); bikes.add(new Bike { make = "Honda", color = "brown" }); bikes.add(new Bike { make = "Vroom", color = "red" }); 

要迭代列表,您可以使用foreach语句:

 foreach(var bike in bikes) { Console.WriteLine(bike.make); } 

感谢AddRange

例:

 public class Person { private string Name; private string FirstName; public Person(string name, string firstname) => (Name, FirstName) = (name, firstname); } 

要将多个Person添加到List<>

 List listofPersons = new List(); listofPersons.AddRange(new List { new Person("John1", "Doe" ), new Person("John2", "Doe" ), new Person("John3", "Doe" ), });