我有一个标识客户的字符串。在我的网站上,我为尚未设置个人头像的客户提供3张不同的图片。我想将这些图像之一随机地与客户相关联,但在会话之间不改变图像。
使用GetHashCode是否有问题,如以下代码所示?
switch (CustomerIdString.GetHashCode() % 3)
{
case 0:
return "NoProfileImage0.png";
break;
case 1:
return "NoProfileImage1.png";
break;
case 2:
default:
return "NoProfileImage2.png";
break;
}
我知道还有其他解决方案,例如-
但是我喜欢使用GetHashCode()的简单性(没有添加的库,没有DB代码。)>
我有一个标识客户的字符串。在我的网站上,我为尚未设置个人头像的客户提供3张不同的图片。我想将这些图像之一随机地关联到客户,...
我发现您的示例代码在我的应用程序中很有用,因为我正在做类似的事情。但是,我发现我需要在GetHashCode周围使用Math.Abs,因为有时它会返回负数:
我看不到任何问题,尽管它根本不会是随机的,但根据CustomerIdString
的值,它将始终是同一张图像。