Random element of List from LINQ SQL

前端 未结 6 1258
执笔经年
执笔经年 2020-12-15 02:35

I\'m using C# 3.5 and am currently using Linq to get all users from a user table and put them in a list.

Now I would like to return a random

6条回答
  •  伪装坚强ぢ
    2020-12-15 03:10

    for Entity Framework or Linq 2 Sql, can use this extension method

    public static T RandomElement(this IQueryable q, Expression> e)
    {
       var r = new Random();
       q  = q.Where(e);
       return q.Skip(r.Next(q.Count())).FirstOrDefault();
    }
    // persons.RandomElement(p=>p.Age > 18) return a random person who +18 years old
    // persons.RandomElement(p=>true) return random person, you can write an overloaded version with no expression parameter
    

提交回复
热议问题