Unity中列表操作的小tips

Unity中列表操作的小tips

assignedWeapon.Add(unAssignedWeapon[weaponNumber]);
unAssignedWeapon[weaponNumber].gameObject.SetActive(true); 
unAssignedWeapon.RemoveAt(weaponNumber);

以上三行代码用来执行将特定武器从未分配列表添加到已分配列表,激活和从未分配列表移除。初次编写会有小纠结激活指令是不是应该放在第一行?然后想明白无论是哪个列表中的这件特定武器,对应的都是Hierarchy中固定的GameObject,所以在未分配列表中激活它效果是一样的。

另外,列表移除元素操作中的 .Remove 和 .RemoveAt 的区别如下:

  • .Remove 方法用于根据元素的值来移除集合中的元素,而 .RemoveAt 方法用于根据元素的索引位置来移除集合中的元素。
  • .Remove 方法在找不到要移除的元素时会抛出异常,而 .RemoveAt 方法在索引超出范围时不会抛出异常。
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Remove(3); // 结果为 { 1, 2, 4, 5 }

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.RemoveAt(2); // 结果为 { 1, 2, 4, 5 }

发表回复

Back To Top