Чтение онлайн

ЖАНРЫ

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)

Поделиться с друзьями: