由于有瞬间生成大量不重复随机数的需求,因此在网上看了很多方法,但是结果不甚理想,总有那么几个是重复的随机数在里面。好了 话不多说,用下面就没问题了
/// <summary> /// 生成随机数 /// </summary> /// <returns></returns> public static string CreateRandomCode(int codeCount) { var allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,a,b,c,d,e,f,g,h,i,g,k,l,m,n,o,p,q,r,F,G,H,I,G,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,s,t,u,v,w,x,y,z"; var allCharArray = allChar.Split(','); var randomCode = new StringBuilder(); var temp = -1; var buffer = Guid.NewGuid().ToByteArray(); var iSeed = BitConverter.ToInt32(buffer, 0); var rand = new Random(iSeed); for (var i = 0; i < codeCount; i++) { if (temp != -1) { rand = new Random(Guid.NewGuid().GetHashCode()); } var t = rand.Next(allCharArray.Length); if (temp == t) { return CreateRandomCode(codeCount); } temp = t; randomCode.Append(allCharArray[t]); } return randomCode.ToString(); }
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/14795.html