I'm getting the below error at var okColors = colors.ToArray();
Cannot evaluate expression because the current thread is in a stack overflow state.
Can you please help on this?
    private Color GetRandomColor()
    {
        Random randomGen = new Random();
        Color randomColor = Color.Red;
        KnownColor[] names = (KnownColor[])Enum.GetValues(typeof(KnownColor));
        KnownColor[] badColors = { KnownColor.AliceBlue };
        IEnumerable<KnownColor> colors = names.Except(badColors);
        var okColors = colors.ToArray();
        KnownColor randomColorName = okColors[randomGen.Next(okColors.Length)];
        randomColor = Color.FromKnownColor(randomColorName);
        if (!ColorsList.Contains(randomColor) && !randomColor.Name.Contains("Light"))
            ColorsList.Add(randomColor);
        else
            GetRandomColor();
        return randomColor;
    }
 
     
     
     
     
     
    