【发布时间】:2019-10-08 18:07:42
【问题描述】:
我有不同的矩形对象,每个对象都有一个通过 Guid 生成的唯一 ID。
示例 ID:“fdd4551f-0087-48ee-b764-3713b5107ac9”
我想将该字符串转换为 0 到 256 之间的整数,这样我就可以根据每个对象的 ID 为每个对象分配随机颜色。
预期结果示例:
对于
"fdd4551f-0087-48ee-b764-3713b5107ac9" = 186
"48d32306-2861-4e78-b57e-9a02ce92f8ed" = 35
我并不关心数字是什么,只是我总是用相同的随机字符串得到相同的结果。
【问题讨论】:
-
您可以为两个不同的字符串获取相同的数字吗?
-
当然,我想这是不可避免的,因为结果池只有 256 个数字。
-
我认为您的要求需要更加充实。此解决方案符合您当前的要求,但我怀疑您的想法是:
int GetNumber(string intput) { return 6; /* chosen by fair die roll */ } -
我想如果我可以使用字符串作为随机种子,问题就会解决,但它只有整数输入
-
使用 GetHashCode() 并将结果转换为 4 个字节,然后将它们异或在一起。
标签: c# string type-conversion integer guid