C# 无法转换';项目[]和#x27;至';项目';

C# 无法转换';项目[]和#x27;至';项目';,c#,C#,在这个问题中,我需要使用“AddItem”方法(在另一个名为Inventory的.cs中找到)将“StoreStartingItem”数组中的每个项目添加到商店的库存中 我尝试过简单地调用该方法并通过它运行数组,如下所示: Inventory.AddItem(StoreStartingItems); public bool AddItem(Item item) { if (mItems == null) return tr

在这个问题中,我需要使用“AddItem”方法(在另一个名为Inventory的.cs中找到)将“StoreStartingItem”数组中的每个项目添加到商店的库存中

我尝试过简单地调用该方法并通过它运行数组,如下所示:

Inventory.AddItem(StoreStartingItems);
public bool AddItem(Item item)
        {
            if (mItems == null)
                return true;
            else
                return false;
        }
但是,我不断收到一个错误
”参数1:无法从“Shop.Item[]”转换为“Shop.Item”

我已尝试将“AddItem”方法从使用类参数更改为类数组参数,如下所示:

Inventory.AddItem(StoreStartingItems);
public bool AddItem(Item item)
        {
            if (mItems == null)
                return true;
            else
                return false;
        }
为此:

public bool AddItem(Item[] item)
        {
            if (mItems == null)
                return true;
            else
                return false;
        }
但是我得到一个错误“
非静态字段、方法或属性”Inventory.AddItem(Item[])”
“需要对象引用


我做错了什么?

它看起来像是
AddItem
获取了一个
,但您正在向它传递一个
项的数组(
项[]

试试这个:

foreach (var item in StoreStartingItems)
    Inventory.AddItem(item)

如评论中所述,您可能想先阅读更多关于C#和面向对象编程的内容,或者学习一些教程。

请了解静态关键字您的参数名是
,但您从未在方法中使用过它,那么为什么首先要传递它呢?