将此存储在一个数组列表中。

15 浏览
0 Comments

将此存储在一个数组列表中。

我想将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());
    }
}

0
0 Comments

问题的原因:

代码中使用了ArrayList来存储数据,但ArrayList是非泛型的,需要将对象进行显式类型转换。另外,代码中的Product类中的addProduct()方法并未给出,无法确定其实现细节。

解决方法:

1. 使用泛型的List代替ArrayList,可以避免显式类型转换的问题。可以通过引用链接中提供的比较ArrayList和List的文章来了解更多信息。

2. 确保Product类中的addProduct()方法被正确实现,并能够将所需的数据添加到ArrayList或List中。

根据您的需求,我认为下面的代码适合您:

List productList = 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)

但是,通过这种方式,我必须在类的内部创建对象。

0