C# 如何生成没有相同数字的随机数
你能给我一个答案吗?如果没有相同的数字,我如何生成数字?C# 如何生成没有相同数字的随机数,c#,unique-key,C#,Unique Key,你能给我一个答案吗?如果没有相同的数字,我如何生成数字? 因为我正在创建一个彩票程序,我希望我的程序没有相同的号码,因为彩票没有具有相同号码的输出。我相信您要做的是使用集合专用集合。随机选取集合中剩余的项目,然后将其从集合中移除。选择另一个。多线程和随机初始化时要小心 static Random r = new Random(); static IEnumerable<int> Randoms(int max) { while(true) yield retu
因为我正在创建一个彩票程序,我希望我的程序没有相同的号码,因为彩票没有具有相同号码的输出。我相信您要做的是使用集合专用集合。随机选取集合中剩余的项目,然后将其从集合中移除。选择另一个。多线程和随机初始化时要小心
static Random r = new Random();
static IEnumerable<int> Randoms(int max)
{
while(true)
yield return r.Next(max);
}
现在您需要将其放在递归方法中,但这里有一个简单的方法
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
numbers.Add(4);
numbers.Add(5);
numbers.Add(6);
numbers.Add(7);
Random rand = new Random();
var numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
公开课考试
{
公共静态void Main()
{
列表编号=新列表();
增加(1);
增加(2);
增加(3);
增加(4);
增加(5);
增加(6);
增加(7);
Random rand=新的Random();
var numbersSfle=numbers.OrderBy(item=>rand.Next()).ToList();
Console.Write(numberssfile[0].ToString());
数字。删除(0);
numbersSfle=numbers.OrderBy(item=>rand.Next()).ToList();
Console.Write(numberssfile[0].ToString());
数字。删除(0);
}
}
小提琴:
搜索“洗牌”。你为什么这么说,彩票号码不一样。你的意思是不是一组数字中的数字不一样?可能是@Hogan的重复?当然你知道彩票是如何运作的。无需替换的
k
个数的组合。@Hogan当您有彩票时,您选择的是1到100之间的5个数,但这5个数应该是唯一的。彩票从来不是1,1,1,1,1。
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
numbers.Add(4);
numbers.Add(5);
numbers.Add(6);
numbers.Add(7);
Random rand = new Random();
var numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
}
}