Unity List 相关
顺序复制同类型的List
①
list2 = new List<T>(list1);
②
list2.Clear();
list1.ForEach(item => list2.Add(item));
倒序复制同类型的List
list2 = new List<T>(list1);//顺序复制
list2.Reverse();//颠倒list
乱序复制同类型的List
List<T> list2 = new List<T>(list1);
List<T> random = new List<T>();
int count = list2.Count;
for (; random.Count < count;)
{int index = UnityEngine.Random.Range(0, list2.Count);random.Add(list2[index]);list2.Remove(list2[index]);
}
比较两个List 的值是否相同
if(list1.Except(list2).Count() == 0 && list2.Except(list1).Count() == 0)
{//相同
}
从List 中随机选取n 个参数组成新的List
if (list1.Count <= n)
{list1.ForEach(item => list2.Add(item));
}List<int> indexs = new List<int>();
for (int i = 0; i < list1.Count; i++)
{indexs.Add(i);
}for (int i = 0; i < n; i++)
{int randomIndex = Random.Range(0, indexs.Count);list2.Add(list1[indexs[randomIndex]]);indexs.RemoveAt(randomIndex);
}
拼接同类型的List
①
list1.AddRange(list2);
②
combinedList = list1.Concat(list2).ToList();
③
foreach (var item in list2)
{list1.Add(item);
}