这段代码是真随机数或伪随机生成器,为什么请?

这段代码是真随机数或伪随机生成器,为什么请?

问题描述:

private void BarcodeButton_Click(object sender, EventArgs e)
        {
            try
            {
                int smallestNumber = 100000;
            int biggestNumber = 5000000;

            //Determine the amount of random numbers
            int amountOfRandomNumbers = 10;

            //Create a list of numbers from which the routine
            //shall choose the result numbers
            var possibleNumbers = new List<int>();
            for (int i = smallestNumber; i <= biggestNumber; i++)
                possibleNumbers.Add(i);

            var result = new List<int>();

            //Initialize a random number generator
            Random rand = new Random();

            //For-loop which picks each round a unique random number
            for (int i = 0; i < amountOfRandomNumbers; i++)
            {
                //Generate random number
                int randomNumber = rand.Next(1, possibleNumbers.Count) - 1;
                barcodeTextEdit.Text = randomNumber.ToString();
                //Remove the chosen result number from possible numbers list
                possibleNumbers.RemoveAt(randomNumber);
            }





我的尝试:



此代码为真随机数或伪随机生成器,请问为什么?



What I have tried:

this code true random number or pseudo random generator and why please ?

伪随机 - 这里有一个很好的解释 C#深度:随机数 [ ^ ]
pseudo random - there's a great explanation here C# in Depth: Random numbers[^]


所有基于软件的方法都是伪随机的:它们使用固定算法生成随机序列通过提供相同的种子值,可以重复数字和整个序列。 Random类使用系统时钟在创建实例时初始化序列,如果快速连续创建两个实例,可以很容易地看到。
All software based methods are pseudo random: They use a "fixed algorithm" to generate the sequence of "random" numbers and the whole sequence can be repeated by providing the same seed value. The Random class uses the system clock to initialize the sequence when the instance is created, as can easily be seen if two instances are created in quick succession.