Ejemplo n.º 1
0
        public static T RandomElement <T>(this IList <T> list)
        {
            if (list != null)
            {
                int indx = RandomEx.GetRange(0, list.Count);
                if (list.Count > indx)
                {
                    return(list[indx]);
                }
            }

            return(default(T));
        }
Ejemplo n.º 2
0
        public static void Shuffle <T>(this IList <T> list)
        {
            int n = list.Count;

            while (n > 1)
            {
                n--;
                int k   = RandomEx.GetRange(0, n + 1);
                T   val = list[k];
                list[k] = list[n];
                list[n] = val;
            }
        }