【发布时间】:2021-05-16 14:56:21
【问题描述】:
我正在尝试使用我使用构造函数类创建的汽车创建一个 ArrayList,然后使用 foreach 循环打印每辆汽车的型号名称。
我已经创建了汽车对象如下
Car car1 = new Car("Audi e-tron", "Black", 2021);
Car car2 = new Car("Audi RS7", "Black", 2021);
Car car3 = new Car("Audi A5", "Black", 2021);
我创建了 ArrayList 并尝试开始将汽车对象添加到 ArrayList
ArrayList carList = new ArrayList();
carList.Add(car1);
carList.Add(car2);
carList.Add(car3);
我测试了代码到目前为止是否正常工作,并检查了 ArrayList 是否已填充
Console.WriteLine("car list: {0}", carList[0]);
但是会返回
ArrayListPractice.MainClass+Car
如何将构造函数中的对象添加到 ArrayList 并返回对象的参数?谢谢!
【问题讨论】:
-
我们有 2021 年,你为什么还要使用
ArrayList??使用List<Car> -
你做得对,只是在没有覆盖 ToString() 的对象上调用 ToString() 只会给你类名。因此,覆盖
Car中的 ToString 以输出您想看到的内容。另外,为什么要使用 ArrayList?那早就死了。 -
你好。我实际上会使用强类型 List 而不是 ArrayList。所以像这样声明列表: var carList = new List
();此外,如果要打印名称,则需要覆盖 Car 类中的 ToString() 函数或编写类似以下内容: Console.WriteLine( carList[0].Name ); -
你可能想看看我对这个问题的回答:stackoverflow.com/questions/65365412/…。它没有直接解决您的问题,但它使用汽车(这就是为什么听起来很熟悉)并触及您问题的某些方面