Random element of List from LINQ SQL

前端 未结 6 1295
执笔经年
执笔经年 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:03

    Why not create a generic helper and/or extension?!

    namespace My.Core.Extensions
    {
        public static class EnumerableHelper
        {
            private static Random r;
    
            static EnumerableHelper()
            {
                r = new Random();
            }
    
            public static T Random(IEnumerable input)
            {
                return input.ElementAt(r.Next(input.Count()));
            }
    
        }
    
        public static class EnumerableExtensions
        {
            public static T Random(this IEnumerable input)
            {
                return EnumerableHelper.Random(input);
            }
        }
    }
    

    Usage would be:

            var list = new List() { 1, 2, 3, 4, 5 };
    
            var output = list.Random();
    

提交回复
热议问题