Я не знаю, подходит ли для этого хэширование, но я хочу преобразовать строку в шестнадцатеричный или argb-цвет полу случайным образом.
Я использовал функцию string.GetHasCode, но результаты перешли на зеленую:
string[] list = { "Test String", "something else", "Test Hooray" };
foreach (string k in list)
{
string x = k.ToUpper().GetHashCode().ToString("X8");
Console.WriteLine("#" + x.Substring(0,6));
}
В идеале я хотел бы, чтобы строки, начинающиеся с одинаковых префиксов, имели разные цвета.Например, «Test String» и «Test Hooray» должны быть совершенно разными, потому что они оба начинаются с «Test».
Меня не очень беспокоит абсолютное решение, я просто хочу что-то достаточно хорошее,Список [] будет в большинство иметь около 10 элементов одновременно, и в большинстве случаев только 2, 3 или 4. Это означает, что цвет должен отличаться только от 2 или 3другие цвета.
Я в основном создаю визуальный список, где цвет ссылается на имя, но имя ВСЕГДА должно соответствовать этому цвету.
Редактировать: Пример вывода:
#66BD44
#7EC83E
#95E4FE
Цвета: http://www.colorcombos.com/combotester.html?color0=66BD44&color1=7EC83E&color2=95E4FE&color3=000316