lacolaco
1/23/2014 - 1:00 PM

IE<T>#Random() impletation

IE#Random() impletation

static Random _Rand = new Random();

static T RandomOrderBy<T>(IEnumerable<T> ie)
{
    return ie.OrderBy(x => _Rand.Next()).First();
}

static T RandomElementAt<T>(IEnumerable<T> ie)
{
    return ie.ElementAt(_Rand.Next(ie.Count()));
}

static T RandomSkip<T>(IEnumerable<T> ie)
{
    return ie.Skip(_Rand.Next(ie.Count())).First();
}