C# 4.0 полное руководство - 2011
Шрифт:
строку, начиная с элемента value [ startlndex]
int startlndex, int
и включая число элементов, определяемых параметром
length)
length. Строка содержит шестнадцатеричные значения,
public static ushort
связанные
ToUIntl6(byte[] value,
value [startlndex], в эквивалентное значение типа
int startlndex)
ushort и возвращает результат
public static uint
Преобразует четыре байта, начиная с элемента массива
ToUInt32(byte[] value,
value[startlndex], в эквивалентное значение типа
int startlndex)
uint и возвращает результат
Метод
Назначение
public static ulong
Преобразует восемь байтов, начиная с элемента массива
ToUInt64(byte[] value,
value[startlndex], в эквивалентное значение типа
int startlndex)
ulong и возвращает результат
Генерирование случайных чисел средствами класса Random
Для генерирования последовательного ряда случайных чисел служит класс Random. Такие последовательности чисел оказываются полезными в самых разных ситуациях, включая имитационное моделирование. Начало последовательности случайных чисел определяется некоторым начальным числом, которое может задаваться автоматически или указываться явным образом.
В классе Random определяются два конструктора.
public Random public Random(int seed)
Первый конструктор создает объект типа Random, использующий системное время для определения начального числа. А во втором конструкторе используется начальное значение seed, задаваемое явным образом.
Методы, определенные в классе Random, перечислены в табл. 21.14.
Таблица 21.14. Методы, определенные в классе Random
Метод
Назначение
public virtual int Next
public virtual int Next(int maxValue)
public virtual int Next(int minValue, int maxValue)
public virtual void NextBytes(byte[] buffer)
public virtual double NextDouble
protected virtual double Sample
Возвращает
следующее случайное целое число, которое будет находиться в пределах от 0 до Int32 . MaxValue-1 включительноВозвращает следующее случайное целое число, которое будет находиться в пределах от 0 до maxValue-1 включительно
Возвращает следующее случайное целое число, которое будет находиться в пределах от minValue до maxValue-1 включительно
Заполняет массив buffer последовательностью случайных целых чисел. Каждый байт в массиве будет находиться в пределах от 0 до Byte .MaxValue-1 включительно
Возвращает из последовательности следующее случайное число, которое представлено в форме с плавающей точкой, больше или равно 0,0 и меньше 1,0 Возвращает из последовательности следующее случайное число, которое представлено в форме с плавающей точкой, больше или равно 0,0 и меньше 1,0. Для получения несимметричного или специального распределения случайных чисел этот метод необходимо переопределить в производном классе
Ниже приведена программа, в которой применение класса Random демонстрируется на примере создания компьютерного варианта пары игральных костей.
// Компьютерный вариант пары играль/ных костей.
using System;
class RandDice {
static void Main {
Random ran = new Random;
Console.Write(ran.Next(1, 7) + " ");
Console.WriteLine(ran.Next(1, 7));
}
}
При выполнении этой программы три раза подряд могут быть получены, например, следующие результаты.
5 2
4 4
1 6
Сначала в этой программе создается объект класса Random. А затем в ней запрашиваются два случайных значения в пределах от 1 до 6.
Управление памятью и класс GC
В классе GC инкапсулируются средства "сборки мусора". Методы, определенные в этом классе, перечислены в табл. 21.15.
Таблица 21.15. Методы, определенные в классе GC
Метод
Назначение
public static
voidAddMemoryPressure(long bytesAllocated) public static void CancelFullGCNotification public static void Collect public static void Collect(int generation)