kasbot/Kasbot.APP/Extensions/IListExtensions.cs

22 lines
498 B
C#

using Discord.WebSocket;
namespace Kasbot.Extensions
{
public static class IListExtensions
{
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source)
{
var rng = new Random();
var buffer = source.ToList();
for (int i = 0; i < buffer.Count; i++)
{
int j = rng.Next(i, buffer.Count);
yield return buffer[j];
buffer[j] = buffer[i];
}
}
}
}