将项目添加到已创建的列表时发生C#nullreferenceerror

将项目添加到已创建的列表时发生C#nullreferenceerror,c#,.net,api,arraylist,nullreferenceexception,C#,.net,Api,Arraylist,Nullreferenceexception,我正在为商店类型的服务创建webapi。在使用我编写的一个毫无意义的类时,我遇到了一个NullReferenceException。以下是我的api代码: [HttpGet] public HttpStatusCode Get() { Item item1 = new Item("Chips", 1, false); Console.WriteLine(item1.ToString());

我正在为商店类型的服务创建webapi。在使用我编写的一个毫无意义的类时,我遇到了一个NullReferenceException。以下是我的api代码:

    [HttpGet]
    public HttpStatusCode Get()
    {
        Item item1 = new Item("Chips", 1, false);
        Console.WriteLine(item1.ToString());
        
        Items collection = new Items("a");
        collection.addItem(item1);

        Items collections = new Items("a");
        collections.addItem(item1);
        Console.WriteLine(collections.getSize());
        return HttpStatusCode.OK;
    }
我的商品代码:

public class Item
{
    public Item(string Name, double Price, bool GlutenFree)
    {
        this.itemID = Guid.NewGuid();
        this.name = Name;
        this.price = Price;
        this.glutenFree = GlutenFree;
    }

    public Guid itemID;
    public string name;
    public double price;
    public bool glutenFree;
最后是items类:

    public Items(string a){
        this.name = a;
    }

    public string name;
    public ArrayList itemCollection;

    public int getSize()
    {
       
这个想法是一个单独的项目将是一个更大的项目集合的一部分-例如,一个可乐罐将是一个饮料集合的一部分

我遇到的问题是,当我运行此代码时,它在向items arraylist添加项时遇到错误。我尝试在
Get()
方法中实例化一个本地arraylist,这确实有效,但是它没有给我所需的灵活性,因此不适合。我不知道为什么会发生这个错误,我已经运行了一个
if(collection is null)
检查,它不会返回null。我不知道为什么会发生这种错误,并希望得到建议


编辑:意识到我没有在items类中创建新的ArrayList(),这意味着从未创建数组列表。现在已修复。

下面一行创建您的类。所以它是一个对象,并且不是空的

Items collection = new Items("a");
我没有看到你在那里实例化你的列表。在C#中,您必须先实例化它,然后才能向其添加任何项,否则它将抛出空引用


对collection.itemCollection执行空检查。它可能为空。

在哪一行出现异常?请回答问题并提供堆栈跟踪。奇怪的是,为什么我所指出的向下投票正是OP所说的问题所在?