为什么当我想从列表中添加时会收到一个null错误异常

本文关键字:一个 异常 错误 null 列表 添加 为什么 | 更新日期: 2023-09-27 18:00:35

我正在从一个列表中读取一块盔甲的坐标。当它找到特定的盔甲时,它应该拿走该盔甲对象,并将其添加到另一个列表中。然而,我收到了一个空对象错误(对象引用没有设置为对象的实例)?

foreach (Armour item in armousOnMap)
        {
            if (item.Row == _yPosition && item.Column == _xPosition)
            {                    
                armourInventory.Add((Armour)item);
            }
        }

为什么当我想从列表中添加时会收到一个null错误异常

是否填充了所有坐标?即不是null?

var armourInventory = new List<Armour>();
foreach (Armour item in armousOnMap)
{
    if ((item.Row != null && item.Row == _yPosition) && (item.Column != null && item.Column == _xPosition))
    {                    
        armourInventory.Add((Armour)item);
    }
}

您需要首先初始化列表,然后向其中添加项目。

var armourInventory = new List<Armour>();

在列出清单时添加此行。

var armourInventory = new List<Armour>();
foreach (Armour item in armousOnMap)
{
    if (item.Row == _yPosition && item.Column == _xPosition)
    {                    
        armourInventory.Add((Armour)item);
    }
}