C# 从list 或者string中随机获取一个

public static class EnumerableExtension
{
    public static T PickRandom<T>(this IEnumerable<T> source)
    {
        return source.PickRandom(1).Single();
    }

    public static IEnumerable<T> PickRandom<T>(this IEnumerable<T> source, int count)
    {
        return source.Shuffle().Take(count);
    }

    public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source)
    {
        return source.OrderBy(x => Guid.NewGuid());
    }
}
var strings = new List<string>();
var randomString = strings.PickRandom();

版权声明:本文为weixin_43632687原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。