Davids Interblag Gesammelte Werke.

18Jun/120

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

Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Leave a comment

CAPTCHA-Bild

*

Noch keine Trackbacks.