Как преобразовать случайный текст в целое число - PullRequest
0 голосов
/ 08 октября 2019

У меня есть разные прямоугольные объекты, каждый из которых имеет уникальный идентификатор, сгенерированный через Guid.

Пример ID: "fdd4551f-0087-48ee-b764-3713b5107ac9"

Я хочу преобразовать этострока в целое число от 0 до 256, чтобы я мог назначить случайный цвет каждому объекту в зависимости от их идентификаторов.

Пример ожидаемых результатов:

Для

"fdd4551f-0087-48ee-b764-3713b5107ac9" = 186

"48d32306-2861-4e78-b57e-9a02ce92f8ed"  = 35 

Мне все равно, что это за числа, за исключением того, что я всегда получаю один и тот же результат с одной и той же случайной строкой.

1 Ответ

3 голосов
/ 08 октября 2019

Учитывая относительно свободные требования, это может быть однострочник:

static int GetNumberForString(string guid, int limit)
{
    return Math.Abs(guid.GetHashCode()) % limit;
}
...