24 lines
654 B
C#
24 lines
654 B
C#
|
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];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|