namespace Lottery { internal class Generator { /// /// Simple algorithm for generating a list of unique numbers of Limits.Count size /// /// Defines the amount of numbers to generate, the min and max values /// Numbers are returned as a sorted set. public static SortedSet Generate(Limits limits) { List candidates = Enumerable.Range(limits.Lower, limits.Upper).ToList(); SortedSet numbers = []; for (int i = 0; i < limits.Count; i++) { int RandomIndex = Random.Shared.Next(candidates.Count); numbers.Add(candidates[RandomIndex]); candidates.RemoveAt(RandomIndex); } return numbers; } } }