예제 #1
0
            private Color Gen(HashSet <Color> list)
            {
                var color = ColorGenHelper.Gen();

                if (list == null || list.Count == 0)
                {
                    return(color);
                }

                if (list.Contains(color) == false)
                {
                    return(color);
                }

                for (int i = 0; i < 10; i++)
                {
                    color = ColorGenHelper.Gen();

                    if (list.Contains(color) == false)
                    {
                        return(color);
                    }
                }

                return(color);
            }
예제 #2
0
        public static Color GetColorByHashCode(string key)
        {
            if (key == null)
            {
                return(Color.White);
            }

            int hash = key.GetHashCode() % 25;

            Color color;

            if (_hashColors.TryGetValue(hash, out color) == false)
            {
                _hashColors.Add(hash, color = ColorGenHelper.Gen());
            }

            return(color);
        }