KI-Kunst-Kirsten-Kloeckner/KIKunstKirstenKlöckner/Extensions/ListExtension.cs

24 lines
654 B
C#
Raw Normal View History

2023-11-17 13:33:05 +01:00
namespace KIKunstKirstenKlöckner.Extensions
{
public static class ListExtension
{
public static IEnumerable<T> PickRandom<T>(this List<T> list, int n)
{
if (list.Count == 0)
{
throw new ArgumentException("List cannot be emtpy: ", nameof(list));
}
if (n <= 0)
{
throw new ArgumentException("n must be greater than 0: ", nameof(n));
}
for (int i = 0; i < n; i++)
{
int index = Random.Shared.Next(list.Count);
yield return list[index];
}
}
}
}