将此存储在一个数组列表中。
将此存储在一个数组列表中。
我想将Product对象存储在一个数组列表中。下面是Product类的定义。
class Product { public string name; public int iD; public int price; public void addProduct() { Console.WriteLine("请输入名称:"); name = Console.ReadLine(); Console.WriteLine("请输入ID:"); iD = int.Parse(Console.ReadLine()); Console.WriteLine("请输入价格:"); price = int.Parse(Console.ReadLine()); } }
问题的原因:
代码中使用了ArrayList来存储数据,但ArrayList是非泛型的,需要将对象进行显式类型转换。另外,代码中的Product类中的addProduct()方法并未给出,无法确定其实现细节。
解决方法:
1. 使用泛型的List代替ArrayList,可以避免显式类型转换的问题。可以通过引用链接中提供的比较ArrayList和List的文章来了解更多信息。
2. 确保Product类中的addProduct()方法被正确实现,并能够将所需的数据添加到ArrayList或List中。
根据您的需求,我认为下面的代码适合您:
ListproductList = new List (); Product prod1 = new Product(); prod1.addProduct(); productList.Add(prod1); Product prod2 = new Product(); prod2.addProduct(); productList.Add(prod2);
我建议使用List,因为它是泛型的。您可以在这里找到更多关于ArrayList和List的比较信息:[链接](https://stackoverflow.com/questions/2309694)
但是,通过这种方式,我必须在类的内部创建对象。