如何在没有冲突的情况下在asp.net中生成随机唯一的16位数字
发布时间:2020-12-16 06:26:14 所属栏目:asp.Net 来源:网络整理
导读:如何在c#asp.net中生成16位唯一随机数而不重复,因为我已经阅读了GUID的概念,它生成字符和数字,但我不想要字符 请建议有没有办法实现它 解决方法 您可以使用Random类创建一个随机数: private static Random RNG = new Random();public string Create16DigitS
如何在c#asp.net中生成16位唯一随机数而不重复,因为我已经阅读了GUID的概念,它生成字符和数字,但我不想要字符
请建议有没有办法实现它 解决方法
您可以使用Random类创建一个随机数:
private static Random RNG = new Random(); public string Create16DigitString() { var builder = new StringBuilder(); while (builder.Length < 16) { builder.Append(RNG.Next(10).ToString()); } return builder.ToString(); } 确保没有冲突需要您跟踪之前返回的所有结果,这实际上是内存泄漏(注意我不建议您使用此功能 – 跟踪所有以前的结果是一个坏主意,依赖于最多16个字符的随机字符串的熵,如果你想要更多的唯一性,增加熵,但我将包括它以显示它是如何完成的): private static HashSet<string> Results = new HashSet<string>(); public string CreateUnique16DigitString() { var result = Create16DigitString(); while (!Results.Add(result)) { result = Create16DigitString(); } return result; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – Visual Studio IIS Express不工作
- asp.net core中AddTransient,AddScope和AddSing
- asp.net – 如何将会话超时设置超过20分钟.
- 在ASP.NET Core Web API中为RESTful服务增加对HA
- asp.net-mvc – 从web.Config授权Controller级别
- asp.net-mvc – 在DataAnnotations DataType Att
- asp.net-mvc – ‘Personal’是一种类型,在给定的
- asp.net – 创建密码和密码
- asp.net – 使用相同登录数据库的多个应用程序相
- asp.net – 在用户控件中关闭页面级缓存
热点阅读