LINQ: Random sort extension

 
        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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.