Last Updated: February 25, 2016
·
1.474K
· badawe

Simple Extension for Shuffling List

Extension:

public static void Shuffle<T>(this IList<T> list)  
    {  
        Random rng = new Random();  
        int n = list.Count;  
        while (n > 1) {  
            n--;  
            int k = rng.Next(n + 1);  
            T value = list[k];  
            list[k] = list[n];  
            list[n] = value;  
        }  
    }

Usage

List<int> tempList = new List<int>{0,1,2,3,4,5};
tempList.shuffle();