 GeeksforGeeks App
Open App Browser
Continue

The Next() Method of System.Random class in C# is used to get a random integer number. This method can be overloaded by passing different parameters to it as follows:

• Next()
• Next(Int32)
• Next(Int32, Int32)

#### Next() Method

This method is used to returns a non-negative random integer.

Syntax:

`public virtual int Next ();`

Return Value: This method returns the 32-bit signed integer which is greater than or equal to 0 and less than MaxValue.

Example:

 `// 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());``    ``}``}`

Output:

```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) Method

This method is used to get a non-negative random integer which is less than the specified maximum.

Syntax:

`public virtual int Next (int maxValue);`

Here, maxValue is the upper boundary of the random number to be generated. It must be greater than or equal to 0.

Return Value: The function returns a 32-bit signed integer which is greater than or equal to 0, and less than maxValue. However, if maxValue equals 0, maxValue is returned.

Exception: This method will give ArgumentOutOfRangeException if the maxValue is less than 0.

Example:

 `// 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));``    ``}``}`

Output:

```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) Method

This method is used to get the random integer that is within a specified range.

Syntax:

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

Parameters:

• maxValue: It is the exclusive upper boundary of the random number generated. It must be greater than or equal to minValue.
• minValue: It is the inclusive lower bound of the random number returned.

Return Value: The function returns a 32-bit signed integer greater than or equal to minValue and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned.

Exception: This method will give the ArgumentOutOfRangeException if the minValue is greater than maxValue.

Example:

 `// 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));``    ``}``}`

Output:

```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
```

Reference:

My Personal Notes arrow_drop_up