猿问

AddRange 抛出“无法隐式转换类型”异常

我不知道为什么这不起作用:


    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);

    }

它给了我:


无法将类型“void”隐式转换为“System.Collections.Generic.List”


我只想添加到字典键的现有列表(如果它已经存在)。


哔哔one
浏览 125回答 1
1回答

慕桂英546537

AddRange(slotPrefabs)是一个 void 方法,这意味着它不会返回任何值。因此您不能将其分配给变量。所以prefabs[slot] = prefabs[slot].AddRange(slotPrefabs);它应该是prefabs[slot].AddRange(slotPrefabs);
随时随地看视频慕课网APP
我要回答