C# 如果List.FindIndex返回null Unity,如何运行函数

C# 如果List.FindIndex返回null Unity,如何运行函数,c#,unity3d,C#,Unity3d,我正在制作一个带有库存系统的游戏,主库存和工具栏是独立的游戏对象。当库存已满时,它不知道开始向工具栏添加新项目,并返回null,因为它找不到空插槽。我试图运行一个函数,当find index函数返回null时,告诉游戏在工具栏中添加任何新项目(如果可以的话),但我不知道如何做到这一点。我需要知道如何在List.FindIndex返回null时运行函数 提前感谢。从不返回null。如果未找到任何项目,则返回-1 所以你可以简单地检查一下 var index = uiItems.FindIndex(

我正在制作一个带有库存系统的游戏,主库存和工具栏是独立的游戏对象。当库存已满时,它不知道开始向工具栏添加新项目,并返回null,因为它找不到空插槽。我试图运行一个函数,当find index函数返回null时,告诉游戏在工具栏中添加任何新项目(如果可以的话),但我不知道如何做到这一点。我需要知道如何在List.FindIndex返回null时运行函数

提前感谢。

从不返回
null
。如果未找到任何项目,则返回
-1

所以你可以简单地检查一下

var index = uiItems.FindIndex(i => i.item == null);
if(index > -1)
{
    UpdateSlot(index, item); 
}
else
{
    Debug.LogWarning("All slots full!");
}

或者,与其按索引,不如检查是否有可用的插槽和使用

当然,也相应地让你的方法签名

void UpdateSlot(Slot, Item)

相反

请向我们展示相关代码。没有必要,我只是问如何检查List.FindIndex是否返回null
UpdateSlot(uiItems.FindIndex(I=>I.item==null),item)
void UpdateSlot(Slot, Item)