22 lines
498 B
C#
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];
|
|
}
|
|
}
|
|
}
|
|
}
|