一:前言
例如一个列表中有顺序的10个数字0-10,现在需要将他们打乱顺序
二:代码实现
using System.Collections.Generic;
using UnityEngine;
public class Test: MonoBehaviour
{
public List<int> list = new List<int>();
void Start()
{
for (int i = 0; i < 10; i++)
{
list.Add(i);
}
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
OutOfOrder(list);
}
}
/// <summary>
/// 列表元素乱序
/// </summary>
public void OutOfOrder<T>(List<T> list)
{
int index;
T temp;
for (int i = 0; i < list.Count; i++)
{
index = UnityEngine.Random.Range(0, list.Count);
if (index != i)
{
temp = list[i];
list[i] = list[index];
list[index] = temp;
}
}
}
}