【发布时间】:2012-08-08 07:57:40
【问题描述】:
我的数据库中有各种对象,由唯一的System.Guid's 标识。当我显示它们时,我希望它们每个都具有基于其 guid 的独特颜色。
所以我想要这样的东西:
public Color ColorFromGuid(Guid guid) { /* ?? */ }
在哪里
ColorFromGuid(databaseObject1.Guid) == ColorFromGuid(databaseObject1.Guid)
ColorFromGuid(databaseObject2.Guid) == ColorFromGuid(databaseObject2.Guid)
ColorFromGuid(databaseObject1.Guid) != ColorFromGuid(databaseObject2.Guid)
最好的方法是什么?
编辑显然有WAY比颜色更独特的guid,所以不可能每个guid都有自己独特的颜色。我只是在寻找一个好的品种。
【问题讨论】:
-
我认为 Guid 是 36 个字符。红色的前 12 个字符,绿色的第二个 12 个字符,蓝色的第三个 12 个字符。将这 12 个字符转换为 int。并以此值产生随机数 0-255。
-
@LarsTech 所述数组中可能有数万亿个条目。这似乎有点低效......