首页 > 解决方案 > 如何将随机文本转换为整数

问题描述

我有不同的矩形对象,每个对象都有一个通过 Guid 生成的唯一 ID。

示例 ID:“fdd4551f-0087-48ee-b764-3713b5107ac9”

我想将该字符串转换为 0 到 256 之间的整数,以便我可以根据每个对象的 ID 为每个对象分配随机颜色。

预期结果示例:

为了

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

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

我真的不在乎数字是什么,只是我总是用相同的随机字符串得到相同的结果。

标签: c#stringtype-conversionintegerguid

解决方案


鉴于相对宽松的要求,这可以是一个单行:

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

推荐阅读