public static void Shuffle(Deck deck) { var values = deck.Cards.ToArray(); deck.Cards.Clear(); foreach (var card in values.OrderBy(x => r.Next())) { deck.AddCardToBottom(card); } }