kej*_*ion -2 c# unity-game-engine
我不知道为什么这不起作用:
Dictionary<string, List<GameObject>> prefabs = new Dictionary<string, List<GameObject>>();
List<GameObject> slotPrefabs = new List<GameObject>();
// yadda yadda yadda
if (prefabs.ContainsKey(slot))
{
prefabs[slot] = prefabs[slot].AddRange(slotPrefabs);
}
else
{
prefabs.Add(slot, slotPrefabs);
}
Run Code Online (Sandbox Code Playgroud)
它给了我:
无法将类型“ void”隐式转换为“ System.Collections.Generic.List”
我只想添加到字典键的现有列表(如果已经存在)。
AddRange(slotPrefabs)是一个void方法,表示它不返回任何值。因此,您不能将其分配给变量。
所以prefabs[slot] = prefabs[slot].AddRange(slotPrefabs);应该代替prefabs[slot].AddRange(slotPrefabs);