System.Random.Next 方法 (Int32)
方法描述
返回一个小于所指定最大值的非负随机数。
语法定义(C# System.Random.Next 方法 (Int32) 的用法)
public virtual int Next( int maxValue )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
maxValue | System-Int32 | 要生成的随机数的上限(随机数不能取该上限值)。maxValue 必须大于或等于零。 |
返回值 | System.Int32 | 大于等于零且小于 maxValue 的 32 位带符号整数,即:的范围通常包括零但不包括 maxValue。 不过,如果 maxValue 等于零,则返回 maxValue。 |
提示和注释
System.Random.Next 方法 (Int32)例子
下面的示例使用不同的 Next 方法重载生成随机整数。
// Example of the Random.Next( ) methods. using System; public class RandomNextDemo { // Generate random numbers with no bounds specified. static void NoBoundsRandoms( int seed ) { Console.WriteLine( "\nRandom object, seed = {0}, no bounds:", seed ); Random randObj = new Random( seed ); // Generate six random integers from 0 to int.MaxValue. for( int j = 0; j < 6; j++ ) Console.Write( "{0,11} ", randObj.Next( ) ); Console.WriteLine( ); } // Generate random numbers with an upper bound specified. static void UpperBoundRandoms( int seed, int upper ) { Console.WriteLine( "\nRandom object, seed = {0}, upper bound = {1}:", seed, upper ); Random randObj = new Random( seed ); // Generate six random integers from 0 to the upper bound. for( int j = 0; j < 6; j++ ) Console.Write( "{0,11} ", randObj.Next( upper ) ); Console.WriteLine( ); } // Generate random numbers with both bounds specified. static void BothBoundsRandoms( int seed, int lower, int upper ) { Console.WriteLine( "\nRandom object, seed = {0}, lower = {1}, " + "upper = {2}:", seed, lower, upper ); Random randObj = new Random( seed ); // Generate six random integers from the lower to // upper bounds. for( int j = 0; j < 6; j++ ) Console.Write( "{0,11} ", randObj.Next( lower, upper) ); Console.WriteLine( ); } static void Main( ) { Console.WriteLine( "This example of the Random.Next( ) methods\n" + "generates the following output.\n" ); Console.WriteLine( "Create Random objects all with the same seed and " + "generate\nsequences of numbers with different " + "bounds. Note the effect\nthat the various " + "combinations of bounds have on the sequences." ); NoBoundsRandoms( 234 ); UpperBoundRandoms( 234, Int32.MaxValue ); UpperBoundRandoms( 234, 2000000000 ); UpperBoundRandoms( 234, 200000000 ); BothBoundsRandoms( 234, 0, Int32.MaxValue ); BothBoundsRandoms( 234, Int32.MinValue, Int32.MaxValue ); BothBoundsRandoms( 234, -2000000000, 2000000000 ); BothBoundsRandoms( 234, -200000000, 200000000 ); BothBoundsRandoms( 234, -2000, 2000 ); } } /* This example of the Random.Next( ) methods generates the following output. Create Random objects all with the same seed and generate sequences of numbers with different bounds. Note the effect that the various combinations of bounds have on the sequences. Random object, seed = 234, no bounds: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, upper bound = 2147483647: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, upper bound = 2000000000: 1947533580 954563751 662424922 1007613896 1707392518 101943116 Random object, seed = 234, upper bound = 200000000: 194753358 95456375 66242492 100761389 170739251 10194311 Random object, seed = 234, lower = 0, upper = 2147483647: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, lower = -2147483648, upper = 2147483647: 2034812868 -97573602 -724936960 16350718 1519113864 -1928562472 Random object, seed = 234, lower = -2000000000, upper = 2000000000: 1895067160 -90872498 -675150156 15227793 1414785036 -1796113767 Random object, seed = 234, lower = -200000000, upper = 200000000: 189506716 -9087250 -67515016 1522779 141478503 -179611377 Random object, seed = 234, lower = -2000, upper = 2000: 1895 -91 -676 15 1414 -1797 */
异常
异常 | 异常描述 |
---|---|
ArgumentOutOfRangeException | maxValue 小于零。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。