class Cards
{
    private Random random = new Random();
    private List<Card> playerDeck = new List<Card>();
    private List<Card> computerDeck = new List<Card>();
    private List<int> usedPlayerNrs = new List<int>();
    private List<int> usedComputerNrs = new List<int>();
    public enum Card
    {
        AceClubs = 11,
        AceDiamonds = 11,
        AceHearts = 11,
        AceSpades = 11,
        DeuceClubs = 2,
        DeuceDiamonds = 2,
        DeuceHearts = 2,
        DeuceSpades = 2,
        EightClubs = 8,
        EightDiamonds = 8,
        EightHearts = 8,
        EightSpades = 8,
        FiveClubs = 5,
        FiveDiamonds = 5,
        FiveHearts = 5,
        FiveSpades = 5,
        FourClubs = 4,
        FourDiamonds = 4,
        FourHearts = 4,
        FourSpades = 4,
        JackClubs = 11,
        JackDiamonds = 11,
        JackHearts = 11,
        JackSpades = 11,
        KingClubs = 13,
        KingDiamonds = 13,
        KingHearts = 13,
        KingSpades = 13,
        NineClubs = 9,
        NineDiamonds = 9,
        NineHearts = 9,
        NineSpades = 9,
        QueenClubs = 12,
        QueenDiamonds = 12,
        QueenHearts = 12,
        QueenSpades = 12,
        SevenClubs = 7,
        SevenDiamonds = 7,
        SevenHearts = 7,
        SevenSpades = 7,
        SixClubs = 6,
        SixDiamonds = 6,
        SixHearts = 6,
        SixSpades = 6,
        TenClubs = 10,
        TenDiamonds = 10,
        TenHearts = 10,
        TenSpades = 10,
        ThreeClubs = 3,
        ThreeDiamonds = 3,
        ThreeHearts = 3,
        ThreeSpades = 3
    }
    public void createDecks()
    {
        playerDeck = Enum.GetValues(typeof(Card)).Cast<Card>().ToList();
        computerDeck = Enum.GetValues(typeof(Card)).Cast<Card>().ToList();
        usedPlayerNrs = new List<int>();
        usedComputerNrs = new List<int>();
    }
    public Card getPlayerCard()
    {
        int index = random.Next(playerDeck.Count());
        usedPlayerNrs.Add(index);
        while (usedPlayerNrs.Contains(index))
        {
            index = random.Next(playerDeck.Count());
        }
        Card randomCard = playerDeck[index];
        return randomCard;
    }
    public Card getComputerCard()
    {
        int index = random.Next(computerDeck.Count());
        usedComputerNrs.Add(index);
        while (usedComputerNrs.Contains(index))
        {
            index = random.Next(computerDeck.Count());
        }
        Card randomCard = computerDeck[index];
        return randomCard;
    }
}
I need to get a card from a deck of cards but I am only allowed to get it once. However when I put my randomly generated numbers into an array to exclude that number from occurring again I still get the same cards. Have tried alot already that's why the codes a bit messy at this point.
 
     
     
     
    