我在做一個遊戲。我搜索對象中的所有子組件,並從中創建一個列表,然後刪除第一個條目,因爲我不需要它。當我嘗試刪除第一個條目時發生錯誤。谷歌似乎沒有關於這一點,一切都是如何使其成爲只讀。爲什麼我的IList只讀?
我得到這個錯誤:
NotSupportedException: Collection is read-only
System.Array.InternalArray__RemoveAt (Int32 index) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System/Array.cs:147)
(wrapper managed-to-managed) UnityEngine.Transform[]:System.Collections.Generic.IList`1.RemoveAt (int)
PlayerEquipper.Start() (at Assets/PlayerEquipper.cs:27)
這是我的代碼:
private IList<Transform> characterChilds = new List<Transform>();
private IList<Transform> armorChilds = new List<Transform>();
private IList<Transform> glovesChilds = new List<Transform>();
private IList<Transform> bootsChilds = new List<Transform>();
void Start()
{
characterChilds = new List<Transform>();
characterChilds = transform.GetComponentsInChildren<Transform>();
Debug.Log(characterChilds[0]);
characterChilds.RemoveAt(0);
Debug.Log(characterChilds[0]);
}
謝謝!我明白現在發生了什麼,並且您的解決方案非常完美。接受你的答案,當它讓我。 – Jared