问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#如何生成随机不重复的数字

发布网友 发布时间:2022-04-23 13:37

我来回答

1个回答

热心网友 时间:2023-10-16 02:03

private string RndomStr(int codeLength)
{
//组成字符串的字符集合 0-9数字、大小写字母
string chars = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] charArray = chars.Split(new Char[] { ',' });
string code = "";
int temp = -1;//记录上次随机数值,尽量避避免生产几个一样的随机数
Random rand = new Random();
//采用一个简单的算法以保证生成随机数的不同
for (int i = 1; i < codeLength + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));//初始化随机类
}
int t = rand.Next(61);
if (temp == t)
{
return RndomStr(codeLength);//如果获取的随机数重复,则递归调用
}
temp = t;//把本次产生的随机数记录起来
code += charArray[t];//随机数的位数加一
}
return code;
}
//生成随机数字方法
public class RandomHelper
{
/// <summary>
///生成制定位数的随机码(数字)
/// </summary>
/// <param name="length"></param>
/// <returns></returns>
public static string GenerateRandomCode(int length)
{
var result = new StringBuilder();
for (var i = 0; i < length; i++)
{
var r = new Random(Guid.NewGuid().GetHashCode());
result.Append(r.Next(0, 10));
}
return result.ToString();
}
}

热心网友 时间:2023-10-16 02:03

private string RndomStr(int codeLength)
{
//组成字符串的字符集合 0-9数字、大小写字母
string chars = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] charArray = chars.Split(new Char[] { ',' });
string code = "";
int temp = -1;//记录上次随机数值,尽量避避免生产几个一样的随机数
Random rand = new Random();
//采用一个简单的算法以保证生成随机数的不同
for (int i = 1; i < codeLength + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));//初始化随机类
}
int t = rand.Next(61);
if (temp == t)
{
return RndomStr(codeLength);//如果获取的随机数重复,则递归调用
}
temp = t;//把本次产生的随机数记录起来
code += charArray[t];//随机数的位数加一
}
return code;
}
//生成随机数字方法
public class RandomHelper
{
/// <summary>
///生成制定位数的随机码(数字)
/// </summary>
/// <param name="length"></param>
/// <returns></returns>
public static string GenerateRandomCode(int length)
{
var result = new StringBuilder();
for (var i = 0; i < length; i++)
{
var r = new Random(Guid.NewGuid().GetHashCode());
result.Append(r.Next(0, 10));
}
return result.ToString();
}
}
随机函数随机不重复数字序列的生成方法二

在Excel中,如果你想生成不重复的随机数字序列,可以在A1单元格输入公式 `=RAND()*100000`,然后向下填充N个单元格。接着,在B1单元格使用排序公式 `=RANK(A1,A:A)`,双击填充或向下填充至BN,就能得到所需的N个不同随机数。这些随机数是通过公式对原始随机数进行排序得到的,确保了重复性的消除。

C#中用random求不重复的四位随机数

Random ran=new Random();int RandKey=ran.Next(100,999);不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不会重复了 int iSeed=6;Random ra=new Random(iSeed);int RandKey=ra.Next(100,999);

C# 如何生成不重复的1-100随机数。

有两种思路:1、随机生成一个1-100的数,然后判断重复,如果重复再生成一次;2、创建一个数组,元素内容为1-100,对元素随机排序。请参考下面的代码 public void GenerateRandomNums(){ List list = new List();Random rand = new Random();int value;while (true){ if (list.Count == 20){ ...

C#生成制定范围和数量的随机数,要求不重复

list.Contains(num))//集合list不包含num,就把num添加进list。这样保证不重复 { list.Add(num); } else { i--; } }

c#有没有函数能生成不重复的随机数,比如1-10之间的不重复随机数???

用Random类生成随机数,然后还前面生成的随机数比较,如果相同就删除。然后继续用Random生成随机数只到生成的随机数一个都不重复 下面的代码可以参考一下,主要是用了RAND类的NEXT方法 int[] randomArray = new int[20];Random random=new Random();randomArray[0] = random.Next(1, 10);for (int...

C#如何生成一个不重复随机数组

n = rand.Next(0, r);//随机产生一个0~9之间的数,r的初始值是9 newNum[i] = num[n];//把产生的随机数当成num的下标赋给newNum数组 tmp = num[n];//然后把num[n]和它最后一个数交换(num[r]),这是避免重复 num[n] = num[r];num[r] = tmp;r--;//自减,下次产生的随机...

C#数组中抽随机数,不检验,不重复

从A[0]开始,将A[0]与随机数0-19之间的任意一个位置上的A的数据进行交换,下面是A[1],同样与0-19之间的任意数据交换,直接A[19],一共循环20次(简单来说这一步就是要将A乱序排列)之后赋给B就简单了,第一次是从A[0]至A[5](可以直接用Array.Copy),第二次是A[6]至A[11],第...

c#获取一个数组中不重复的随机数

static void Main(string[] args) { int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Random r = new Random(); var r4 = nums.OrderBy(x =&gt; r.Next()).Take(4); foreach (int n in r4) Console.WriteLine(n); Console.ReadLine(); } ...

c#生成6个随机数,要求1到33之间不重复的随机数,要最简单的写法

1-33放在一个集合里面,随机数=1到集合长度。随机一个,就取出集合对应位置的数字,并且删除这行。继续随机数=1到集合长度,再取。 循环6次就完了。

c#不用数据库怎么弄出来随机数?

你好:方法1:思想是用一个数组来保存索引号,先随机生成一个数组位置,然后把这个位置的索引号取出来,并把最后一个索引号复制到当前的数组位置,然后使随机数的上限减一,具体如:先把这100个数放在一个数组内,每次随机取一个位置(第一次是1-100,第二次是1-99,...),将该位置的数用最后...

随机生成不重复的五位数字 Java随机生成不重复的数字 随机生成1到100不重复随机数 随机生成10个不重复数字 excel生成随机不重复数字 php随机生成不重复数字 随机生成不重复的数 随机数字表重复的数字 如何随机生成数字
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
重本和一本一样吗 永劫无间是第几人称:小说叙事视角分析 名字未定(第三人称双男主 周霖 温宿) 我得了职业病〈轻度苯中毒〉,有职业病诊断证明书.工伤认定期间我没上... ...后来感觉麻烦,就直接去药店买药,他开了很多 这是十年前的功放,求高手看看那几个孔是什么? 车子断保险之后再交是一样的吗 车险断交后再续交 女性查激素六项什么时候检查 有一个素质很低下的室友是一种什么样的体验? 新鲜笋子煮麻辣鱼怎么做 笋子煮麻辣鱼的做法 PHP产生不重复随机数的5个方法总结 java中怎样让随机数不重复 如何连续生成不重复的随机数 如何生成6位不重复的随机数 如何生成一定范围内不重复的随机数 吸血虫怎么来源的 C语言如何产生不重复的随机数 如何生成不重复的随机数 谁有钉鞋跑步视频啊? c++中产生不重复的随机数 《鬼吹灯》中的张三爷究竟有多厉害? 什么是放哨火,简要地叙述放哨火这一习俗 室内装修,电视背景墙用镜框线。粘在墙面,还是钉子钉在墙面?若是粘,是原墙,还是腻子,还是乳胶漆上? 谁可以过来帮帮忙,谁知道生活中的小发明? 明朝时期的中国是冷兵器时代还是半火药时代 生活中的小发明 怎么挂小提琴? 如何自制口哨 编,哨,网,漂,举,仗,钉,削,抽,缝,春,夏,由,丰,场,形,男怎么组词语 炒锅里面很脏,如何清理? 如何高效产生m个n范围内的不重复随机数(m&lt;=n) 如何生成500M不重复的随机数 求一个特定区域内产生随机数不重复的算法。 如何让JAVA生成不重复随机数 快速生成1000万个不重复数字的算法? 如何生成一组不重复的六位随机数 黑龙江省疾控中心短信是真是假 matlab中怎样生成一个区间内不重复的随机数? 黑龙江省疾控中心的短信是什么样的 黑龙江省疾病预防控制中心的职能部门 黑龙江省疾病预防控制中心是什么级别? 黑龙江省防疫站在哪? 黑龙江省疫情防控指挥部是一个什么部门 想知道:从哈尔滨火车站到黑龙江省疾病预防控制中心健康体检中心怎么坐公交? 五常市疾控中心电话? 黑龙江疾控中心检测艾滋病免费吗?坐公交怎么去? ps怎么扣出图里的人? 12320疫苗咨询 求问,黑龙江省哈尔滨市哪里能办健康证,我家在香坊区,听说香坊区油坊街那里能办,具体在哪啊?谁能告诉 请问哈尔滨火车站到黑龙江省疾控中心乘多少路公交车?需要做多久能到?