Random.NextBytes 方法

定义

重载

NextBytes(Span<Byte>)

用随机数填充指定字节范围的元素。

NextBytes(Byte[])

用随机数填充指定字节数组的元素。

NextBytes(Span<Byte>)

Source:
Random.cs
Source:
Random.cs
Source:
Random.cs

用随机数填充指定字节范围的元素。

C#
public virtual void NextBytes(Span<byte> buffer);

参数

buffer
Span<Byte>

要用随机数填充的数组。

注解

字节范围的每个元素都设置为大于或等于 0 且小于或等于 MaxValue的随机数。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

NextBytes(Byte[])

Source:
Random.cs
Source:
Random.cs
Source:
Random.cs

用随机数填充指定字节数组的元素。

C#
public virtual void NextBytes(byte[] buffer);

参数

buffer
Byte[]

要用随机数填充的数组。

例外

buffer 上声明的默认值为 null

示例

以下示例演示如何使用 NextBytes 方法使用随机字节值填充字节数组。

C#
Random rnd = new Random();
Byte[] b = new Byte[10];
rnd.NextBytes(b);
Console.WriteLine("The Random bytes are: ");
for (int i = 0; i <= b.GetUpperBound(0); i++)
    Console.WriteLine("{0}: {1}", i, b[i]);

// The example displays output similar to the following:
//       The Random bytes are:
//       0: 131
//       1: 96
//       2: 226
//       3: 213
//       4: 176
//       5: 208
//       6: 99
//       7: 89
//       8: 226
//       9: 194

注解

字节数组的每个元素都设置为大于或等于 0 且小于或等于 MaxValue的随机数。

例如,若要生成适合创建随机密码的加密保护随机数,请使用 等 RNGCryptoServiceProvider.GetBytes方法。

继承者说明

从 .NET Framework 版本 2.0 开始,如果从 Random 派生类并重写 Sample() 方法,则方法的Sample()派生类实现提供的分布不会用于调用方法的NextBytes(Byte[])基类实现。 而是使用基 Random 类返回的统一分布。 此行为可提高 类的整体性能 Random 。 若要修改此行为以调用 Sample() 派生类中的 方法,还必须重写 NextBytes(Byte[]) 方法。

另请参阅

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0