Updated: February 2009
Returns a random number within a specified range.
Public Overridable Function Next ( _ minValue As Integer, _ maxValue As Integer _ ) As Integer
Dim instance As Random Dim minValue As Integer Dim maxValue As Integer Dim returnValue As Integer returnValue = instance.Next(minValue, _ maxValue)
public virtual int Next( int minValue, int maxValue )
public: virtual int Next( int minValue, int maxValue )
public function Next( minValue : int, maxValue : int ) : int
minValue is greater than maxValue.
Unlike the other overloads of the Next method, which return only non-negative values, this method can return a negative random integer.
Starting with the .NET Framework version 2.0, if you derive a class from Random and override the Sample method, the distribution provided by the derived class implementation of the Sample method is not used in calls to the base class implementation of the Random..::.Next(Int32, Int32) method overload if the difference between the minValue and maxValue parameters is greater than Int32..::.MaxValue. Instead, the uniform distribution returned by the base Random class is used. This behavior improves the overall performance of the Random class. To modify this behavior to call the Sample method in the derived class, you must also override the Random..::.Next(Int32, Int32) method overload.
The following example uses the Random..::.Next(Int32, Int32) method to generate random integers with three distinct ranges. Note that the exact output from the example depends on the system-supplied seed value passed to the Random class constructor.
Module Example Public Sub Main() Dim rnd As New Random() Console.WriteLine("20 random integers from -100 to 100:") For ctr As Integer = 1 To 20 Console.Write("{0,6}", rnd.Next(-100, 101)) If ctr Mod 5 = 0 Then Console.WriteLine() Next Console.WriteLine() Console.WriteLine("20 random integers from 1000 to 10000:") For ctr As Integer = 1 To 20 Console.Write("{0,8}", rnd.Next(1000, 10001)) If ctr Mod 5 = 0 Then Console.WriteLine() Next Console.WriteLine() Console.WriteLine("20 random integers from 1 to 10:") For ctr As Integer = 1 To 20 Console.Write("{0,6}", rnd.Next(1, 11)) If ctr Mod 5 = 0 Then Console.WriteLine() Next End Sub End Module ' The example displays output similar to the following: ' 20 random integers from -100 to 100: ' 65 -95 -10 90 -35 ' -83 -16 -15 -19 41 ' -67 -93 40 12 62 ' -80 -95 67 -81 -21 ' ' 20 random integers from 1000 to 10000: ' 4857 9897 4405 6606 1277 ' 9238 9113 5151 8710 1187 ' 2728 9746 1719 3837 3736 ' 8191 6819 4923 2416 3028 ' ' 20 random integers from 1 to 10: ' 9 8 5 9 9 ' 9 1 2 3 8 ' 1 4 8 10 5 ' 9 7 9 10 5
using System; public class Example { public static void Main() { Random rnd = new Random(); Console.WriteLine("\n20 random integers from -100 to 100:"); for (int ctr = 1; ctr <= 20; ctr++) { Console.Write("{0,6}", rnd.Next(-100, 101)); if (ctr % 5 == 0) Console.WriteLine(); } Console.WriteLine("\n20 random integers from 1000 to 10000:"); for (int ctr = 1; ctr <= 20; ctr++) { Console.Write("{0,8}", rnd.Next(1000, 10001)); if (ctr % 5 == 0) Console.WriteLine(); } Console.WriteLine("\n20 random integers from 1 to 10:"); for (int ctr = 1; ctr <= 20; ctr++) { Console.Write("{0,6}", rnd.Next(1, 11)); if (ctr % 5 == 0) Console.WriteLine(); } } } // The example displays output similar to the following: // 20 random integers from -100 to 100: // 65 -95 -10 90 -35 // -83 -16 -15 -19 41 // -67 -93 40 12 62 // -80 -95 67 -81 -21 // // 20 random integers from 1000 to 10000: // 4857 9897 4405 6606 1277 // 9238 9113 5151 8710 1187 // 2728 9746 1719 3837 3736 // 8191 6819 4923 2416 3028 // // 20 random integers from 1 to 10: // 9 8 5 9 9 // 9 1 2 3 8 // 1 4 8 10 5 // 9 7 9 10 5
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
Date
History
Reason
February 2009
Replaced the example.
Customer feedback.