private void Shuffle(ref String[] list, out int[] order) { int n = list.Length; order = new int[n]; String[] old = new string[n]; for (int i = 0; i < n; i++) { order[i] = i; old[i] = list[i]; } Rando.Shuffle(order); for (int i = 0; i < n; i++) { list[order[i]] = old[i]; } }