Прочитать на английском

Поделиться через


Random.NextBytes Метод

Определение

Перегрузки

NextBytes(Span<Byte>)

Заполняет элементы указанного диапазона байтов случайными числами.

NextBytes(Byte[])

Заполняет элементы указанного массива байтов случайными числами.

NextBytes(Span<Byte>)

Исходный код:
Random.cs
Исходный код:
Random.cs
Исходный код:
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[])

Исходный код:
Random.cs
Исходный код:
Random.cs
Исходный код:
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