Esempio n. 1
0
        public static T GetRandom <T>(this IEnumerable <T> enumerable)
        {
            if (enumerable.Count() == 0)
            {
                return(default(T));
            }

            int id = RandomEx.Next(enumerable.Count());

            return(enumerable.ElementAt(id));
        }
Esempio n. 2
0
        public static IEnumerable <int> NonRepeatableRandoms(int minValue, int maxValue, int count)
        {
            var result = new List <int>();

            var values = Enumerable.Range(minValue, maxValue - minValue).ToList();

            count = Math.Min(maxValue - minValue, count);

            for (int i = 0; i < count; ++i)
            {
                int index = RandomEx.Next(values.Count);
                result.Add(values[index]);
                values.RemoveAt(index);
            }

            return(result);
        }