static void Main(string[] args) { Console.OutputEncoding = Encoding.Unicode; IEnumerable <int> UniqueRandom(int minInclusive, int maxInclusive) { List <int> candidates = new List <int>(); for (int i = minInclusive; i <= maxInclusive; i++) { candidates.Add(i); } Random rnd = new Random(); while (candidates.Count > 0) { int index = rnd.Next(candidates.Count); yield return(candidates[index]); candidates.RemoveAt(index); } } while (true) { int count = 0; Console.WriteLine("You got these random cards:"); foreach (int i in UniqueRandom(1, 52)) { Cards.AllCards(i); count += 1; if (count > 3) { break; } } Console.WriteLine("♠\t♥\t♦\t♣"); Console.ReadKey(); Console.Clear(); } }