asp.net生成N组指定位数随机数都一样的解决办法
2016-01-11 16:20
726 查看
最初的生成随机字符串的函数
前端调用:
这样生成出来的10个随机数会全部都一样。怎么办呢?
加断点一步一步调试后发现就不会存在全部一样的结果。这也就是说,我们应该在每次生成随机的时候,加一个阻塞。
那我们在for循环里加一个阻塞试试。
加了Thread.Sleep(5)之后,一切问题搞定了,参数根据自己的情况来设置吧,我反正设置5就合适了。
/// <summary> /// 随机生成指定长度的字符串(只包括数字) /// </summary> /// <param name="length">长度</param> /// <returns></returns> public static string RandNumStr(int length) { string str = "1234567890"; Random r = new Random(); string result = ""; for (int i = 0; i < length; i++) { int m = r.Next(0, str.Length); string s = str.Substring(m, 1); result += s; } return result; }
前端调用:
<div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div> <div><%=Lib.Common.RandNumStr(9) %></div>
这样生成出来的10个随机数会全部都一样。怎么办呢?
加断点一步一步调试后发现就不会存在全部一样的结果。这也就是说,我们应该在每次生成随机的时候,加一个阻塞。
那我们在for循环里加一个阻塞试试。
/// <summary> /// 随机生成指定长度的字符串(只包括数字) /// </summary> /// <param name="length">长度</param> /// <returns></returns> public static string RandNumStr(int length) { string str = "1234567890"; Random r = new Random(); string result = ""; for (int i = 0; i < length; i++) { int m = r.Next(0, str.Length); string s = str.Substring(m, 1); result += s; //加一个阻塞试试 Thread.Sleep(5); } return result; }
加了Thread.Sleep(5)之后,一切问题搞定了,参数根据自己的情况来设置吧,我反正设置5就合适了。
相关文章推荐
- ASP.NET——页面传值
- asp.net(C#)页面事件顺序
- ASP.NET在RENDER中加载HTML来动态生成或者修改页面
- ASP.NET(C#)——int.Parse和Convert.ToInt32
- VS2013从头开始创建Web Form--ASP.NET数据源和数据绑定控件
- (转)【ASP.NET开发】获取客户端IP地址 via C#
- ASP.NET(C#)——IsPostback
- 将aspx.cs代码写到前台页面中
- ASP.NET(C#)——不扩展System.Web.UI.Page
- 【ASP.NET】将数据库连接字符串写在Web.config
- ASP.NET(c#)——如何重新生成designer.cs文件
- (已测)asp.net file文件上传
- ASP.Net学习笔记005--ASP.Net的IsPostBack揭秘
- ASP.Net学习笔记004--基于ashx方式的ASP.Net开发1
- ASP.Net学习笔记002--ASP.Net服务端控件做了什么2
- ASP.Net学习笔记001--ASP.Net简介1
- ASP 中 Cookies 的 Expires 属性的设置(JS版本)
- [Asp.net 5] Options-配置文件(2)
- 利用IdentityServer3在ASP.NET 5和Angular中实现OAuth2 Implicit Flow
- ASP.NET5配置