public static IEnumerable<T> Random<T>(this IEnumerable<T> source) { var randomizer = new Random(); var foo = from p in source let rand = randomizer.Next() orderby rand select p; return foo; }
Example:
var list_1 = new List<int> { 1, 2, 3, 4, 5, 6 }; var list_2 = list_1.Random(); // list_2 contains now: 5, 4, 3, 6, 1, 2