C# 将对象从构造函数添加到ArrayList

C# 将对象从构造函数添加到ArrayList,c#,arraylist,C#,Arraylist,我试图用我使用构造函数类创建的汽车创建一个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", &qu

我试图用我使用构造函数类创建的汽车创建一个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并返回对象的参数?谢谢大家!

您到底想在下面的代码块中打印什么

Console.WriteLine("car list: {0}", carList[0]);
例如,如果要打印传递到第一个元素的构造函数中的字符串属性(
“Audi e-tron”
),请尝试以下操作:

Console.WriteLine("car list: {0}", carList[0].Name); // 'Name' should be the field name you're looking for

您应该重写Car对象,ToString()方法,并且不需要考虑其他因素,它将自动完成

我们有2021,为什么您仍然使用
ArrayList
??使用
列表
如果操作正确,那么对没有覆盖ToString()的对象调用ToString()只会给出类名。因此,在
Car
中覆盖ToString以输出您想要看到的内容。还有,为什么要使用ArrayList?好久不见了,你好。我实际上会使用强类型列表而不是ArrayList。所以像这样声明列表:var carList=new list();此外,如果要打印名称,则需要重写Car类中的ToString()函数,或者编写类似以下内容:Console.WriteLine(carList[0].name);你可能想看看我对这个问题的回答:。它没有直接解决您的问题,但它使用汽车(这就是它听起来很熟悉的原因)并涉及您问题的某些方面正如@Crowcoder在上文中指出的,在
汽车
类中添加了
ToString
覆盖,将提供一种查看该方法中包含的每辆汽车信息的方法。