/// <summary> /// Randomizes character positions in string /// </summary> static string Scramble(string input) { if (string.IsNullOrEmpty(input)) return input; List<char> inputChars = new List<char>(input); char[] outputChars = new char[inputChars.Count]; Random rand = new Random(); for (int i = inputChars.Count - 1; i >= 0; i--) { int index = rand.Next(i); outputChars[i] = inputChars[index]; inputChars.RemoveAt(index); } return new string(outputChars); }
private List<char> RandomizeList(List<char> list) { var randomizedList = new List<char>(); while (list.Count > 0) { int randomSelectionIndex = randomizer.Get(0, list.Count); randomizedList.Add(list[randomSelectionIndex]); list.RemoveAt(randomSelectionIndex); } return randomizedList; }