public static class Program { private static readonly string[] Arrays = new[] { "jerry", "Kate", "Steve", "Mark", "Joe" }; public static void Main(string[] args) { PrintArray(Arrays); FisherYatesShuffle(Arrays); PrintArray(Arrays); Console.ReadKey(); } private static void PrintArray(IEnumerable array) { var foo = string.Join(", ", array); Console.WriteLine(foo); } private static void FisherYatesShuffle(T[] array) { for (var i = array.Length - 1; i > -1; i--) { var j = new Random().Next(0, i); Swap(ref array[i], ref array[j]); } } private static void Swap(ref T first, ref T second) { var temp = first; first = second; second = temp; } }