📜  C#| Random.Next()方法

📅  最后修改于: 2021-05-30 01:42:02             🧑  作者: Mango

C#中System.Random类的Next()方法用于获取随机整数。可以通过向其传递不同的参数来重载此方法,如下所示:

  • 下一个()
  • 下一个(Int32)
  • 下一个(Int32,Int32)

Next()方法

此方法用于返回非负随机整数。

句法:

public virtual int Next ();

返回值:此方法返回大于或等于0且小于MaxValue的32位有符号整数。

例子:

// C# program to illustrate the 
// Random.Next() Method
using System;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Instantiate random number generator
        Random rand = new Random();
  
        // Print 10 random numbers
        Console.WriteLine("Printing 10 random numbers");
        for (int i = 1; i <= 10; i++)
            Console.WriteLine("{0} -> {1}", i, rand.Next());
    }
}
输出:
Printing 10 random numbers
1 -> 1386420123
2 -> 2133003862
3 -> 981665925
4 -> 495382685
5 -> 1127976381
6 -> 824414652
7 -> 213006792
8 -> 1948108820
9 -> 214839986
10 -> 261560448

Next(Int32)方法

此方法用于获取小于指定最大值的非负随机整数。

句法:

public virtual int Next (int maxValue);

此处, maxValue是要生成的随机数的上限。它必须大于或等于0。

返回值:该函数返回一个大于或等于0且小于maxValue的32位有符号整数。但是,如果maxValue等于0,则返回maxValue

异常:如果maxValue小于0,则此方法将提供ArgumentOutOfRangeException

例子:

// C# program to illustrate the
// Random.Next(Int32) Method
using System;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Instantiate random number generator
        Random rand = new Random();
  
        // Print 10 random numbers less than 100
        Console.WriteLine("Printing 10 random numbers less than 100");
        for (int i = 1; i <= 10; i++)
            Console.WriteLine("{0} -> {1}", i, rand.Next(100));
    }
}
输出:
Printing 10 random numbers less than 100
1 -> 19
2 -> 94
3 -> 14
4 -> 54
5 -> 94
6 -> 73
7 -> 39
8 -> 42
9 -> 18
10 -> 77

Next(Int32,Int32)方法

此方法用于获取指定范围内的随机整数。

句法:

public virtual int Next (int minValue, int maxValue);

参数:

  • maxValue:它是生成的随机数的排他上限。它必须大于或等于minValue。
  • minValue:它是返回的随机数的包含性下限。

返回值:该函数返回一个大于或等于minValue且小于maxValue的32位有符号整数;也就是说,返回值的范围包括minValue而不是maxValue 。如果minValue等于maxValue ,则返回minValue

异常:如果minValue大于maxValue,则此方法将提供ArgumentOutOfRangeException

例子:

// C# program to illustrate the
// Next(Int32, Int32) Method
using System;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Instantiate random number generator
        Random rand = new Random();
  
        // Print 10 random numbers between 50 and 100
        Console.WriteLine("Printing 10 random numbers"+
                                " between 50 and 100");
        for (int i = 1; i <= 10; i++)
            Console.WriteLine("{0} -> {1}", i, rand.Next(50, 100));
    }
}
输出:
Printing 10 random numbers between 50 and 100
1 -> 91
2 -> 85
3 -> 93
4 -> 74
5 -> 88
6 -> 77
7 -> 92
8 -> 76
9 -> 77
10 -> 52

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.random.next?view=netframework-4.7.2