在C#中随机化通用列表顺序的最佳方法是什么?我在一个列表中有一组有限的75个数字,我想为其分配一个随机顺序,以便为抽奖类型的应用程序绘制它们.
我已经搜索了一段时间并且一直在努力寻找这个,我正在尝试生成几个随机的,唯一的数字是C#.我正在使用System.Random
,我正在使用DateTime.Now.Ticks
种子:
public Random a = new Random(DateTime.Now.Ticks.GetHashCode());
private void NewNumber()
{
MyNumber = a.Next(0, 10);
}
Run Code Online (Sandbox Code Playgroud)
我NewNumber()
经常打电话,但问题是我经常会重复数字.有些人建议因为我每次都是随机声明它,它不会产生随机数,所以我把声明放在我的函数之外.有什么建议或比使用更好的方法System.Random
?谢谢
我在C#中有一个彩票应用程序,其中包含要绘制的数字的数量以及要绘制的最大数量.我已编码为创建一个包含所需随机数的数组但我需要它们是唯一的并且我很难做到这一点如果有人能给我一些建议,我将非常感激,谢谢
到目前为止,这是我的代码:
class Lottery
{
static int[] numberHolder; //array to be filled with numbers up to an
//amount entered by the user eg 42 Max
static int[] drawHolder; //array to hold the each random number
//drawn from the pool of numbers eg 7 numbers
public Lottery() //Lottery class Constructor
{
}
//method which takes in a number limit and amount of numbers to be drawn
public String drawNumbers(int numLimit, int numAmount)
{
Random RandomNumber = new Random();
for (int i …
Run Code Online (Sandbox Code Playgroud) 大家好我试图在c#的同一行生成6个不同的数字,但我面临的问题是一些数字在同一行重复.这是我的代码
List<int> listNumbers = new List<int>();
int numbers = rand.Next(1,49);
for (int i= 0 ; i < 6 ;i++)
{
listNumbers.Add(numbers);
numbers = rand.Next(1,49);
}
Run Code Online (Sandbox Code Playgroud)
某处我的输出是
17 23 23 31 33 48
Run Code Online (Sandbox Code Playgroud)