Г. Шилдт - Полный справочник по C# (1160789), страница 100
Текст из файла (страница 100)
Массив долженбыть одномернымpublic static voidSort(Array a,IComparer comp)Сортирует массив а в порядке возрастания с использованиемметода сравнения, заданного параметром сотр. Массив должен быть одномернымГлава 19. Пространство имен System531Окончание табл. 19.12МетодОписаниеpublic static voidSort(Array k,Array v)Сортирует в порядке возрастания два заданных одномерныхмассива. Массив к содержит ключи сортировки, а массив v —значения, связанные с этими ключами.
Следовательно, эти двамассива должны содержать пары ключ/значение. После сортировки элементы обоих массивов расположены в порядкевозрастания ключейpublic static voidSort(Array k,Array v,IComparer comp)Сортирует в порядке возрастания два заданных одномерныхмассива с использованием метода сравнения, заданного параметром сотр. Массив к содержит ключи сортировки, амассив V—значения, связанные с этими ключами. Следовательно, эти два массива должны содержать парыключ/значение.
После сортировки элементы обоих массивоврасположены в порядке возрастания ключейpublic static voidSort(Array a,int start,int count)Сортирует заданный диапазон массива в порядке возрастания.Упомянутый диапазон начинается с элемента a [start]ивключает count элементов. Массив должен быть одномернымpublic static voidSort(Array a,int startint count,IComparer comp)Сортирует заданный диапазон массива в порядке возрастанияс использованием метода сравнения, заданного параметромсотр. Упомянутый диапазон начинается с элементаa [ s t a r t ] и включает count элементов. Массив долженбыть одномернымpublic static voidSort(Array k,Array v,int start,int count)Сортирует заданный диапазон двух одномерных массивов впорядке возрастания.
В обоих массивах диапазон сортировкиначинается с индекса, переданного в параметре start, ивключает count элементов. Массив к содержит ключи сортировки, а массив v — значения, связанные с этими ключами.Следовательно, эти два массива должны содержать парыключ/значение. После сортировки элементы диапазонов обоихмассивов расположены в порядке возрастания ключейpublic static voidSort(Array k,Array v,int start,int count,IComparer comp)Сортирует заданный диапазон двух одномерных массивов впорядке возрастания с использованием метода сравнения, заданного параметром сотр. В обоих массивах диапазон сортировки начинается с индекса, переданного в параметреstart,и включает count элементов. Массив к содержитключи сортировки, а массив v — значения, связанные с этимиключами.
Следовательно, эти два массива должны содержатьпары ключ/значение. После сортировки элементы диапазоновобоих массивов расположены в порядке возрастания ключейLJ Класс B i t C o n v e r t e rПри написании программ часто приходится преобразовывать данные встроенныхтипов в массив байтов. Например, некоторые устройства могут принимать целочисленные значения, но эти значения должны посылаться побайтно.
Не менее частовстречается и обратная ситуация. Иногда данные должны быть организованы дляприема в виде упорядоченной последовательности байтов, которые нужно преобразовать в значение одного из встроенных типов. Например, некоторое устройство можетвыводить целые числа, посылаемые как поток байтов. Для решения подобных проблем преобразования данных в С# и предусмотрен класс BitConverter.532Часть II.
Библиотека С#Класс B i t C o n v e r t e r содержит методы, представленные в табл. 19.13. В нем такжеопределено следующее поле:public static readonly bool IsLittleEndianЭто поле принимает значение t r u e , если текущая операционная среда обрабатывает сначала слово с младшим (наименее значимым), а затем со старшим (наиболеезначимым) байтом.
Такой формат обработки (хранения и передачи) называется прямым, т.е. прямым порядком байтов, ("little-endian" format). Поле I s L i t t l e E n d i a nпринимает значение f a l s e , если текущая операционная среда обрабатывает сначаласлово со старшим (наиболее значимым), а затем с младшим (наименее значимым)байтом. Такой формат обработки называется обратным ("big-endian" format). Компьютеры, собранные на базе микропроцессора Pentium фирмы Intel, используют формат спрямым порядком байтов.Класс BitConverter является sealed-классом, т.е. не может иметь производныхклассов.Таблица 19.13. Методы, определенные в классе BitConverterМетодОписаниеpublic static longDoubleToInt64Bits(double v)Преобразует значение параметра v в целочисленное значениетипа l o n g и возвращает результатpublic s t a t i c byte[]GetBytes(bool v)Преобразует значение параметра v в однобайтовый массив ивозвращает результатpublic static byte[]GetBytes(char v)Преобразует значение параметра v в двубайтовый массив ивозвращает результатpublic s t a t i c byte[]GetBytes(double v)Преобразует значение параметра v в восьмибайтовый массив ивозвращает результатpublic static byte[]GetBytes(float v)Преобразует значение параметра v в четырехбайтовый массиви возвращает результатpublic static byte[]GetBytes(int v)Преобразует значение параметра v в четырехбайтовый массиви возвращает результатpublic static byte[]GetBytes(long v)Преобразует значение параметра v в восьмибайтовый массив ивозвращает результатpublic static byte[]GetBytes(short v)Преобразует значение параметра v в двубайтовый массив ивозвращает результатpublic static byte[]GetBytes(uint v)Преобразует значение параметра v в четырехбайтовый массиви возвращает результатpublic static byte[]GetBytes(ulong v)Преобразует значение параметра v в восьмибайтовый массив ивозвращает результатpublic static byte[]GetBytes(ushort v)Преобразует значение параметра v в двубайтовый массив ивозвращает результатpublic static doubleInt64BitsToDouble(long v)Преобразует значение параметра v в значение с плавающейточкой типа double и возвращает результатpublic static boolToBoolean(byte[] a,int idx)Преобразует элемент a [idx] байтового массива а в егоbool-эквивалент и возвращает результат.
Ненулевое значениепреобразуется в значение t r u e , а нулевое — в f a l s epublic static charToChar(byte[] a,int start)Преобразует два байта, начиная с элемента а [ start], в соответствующий char-эквивалент и возвращает результатГлава 19. Пространство имен System533Окончание табл. 19.13МетодОписаниеpublic static doubleToDouble(byte[] a,int start)public static shortTolntl6(byte[] a,int start)Преобразует восемь байтов, начиная с элемента а [ start], всоответствующий double-эквивалент и возвращает результатpublic static intTolnt32(byte[] a,int start)Преобразует четыре байта, начиная с элемента a [start], всоответствующий int-эквивалент и возвращает результатpublic static longTolnt64(byte[] a,int start)Преобразует восемь байтов, начиная с элемента а [ start ], всоответствующий long-эквивалент и возвращает результатpublic static floatToSingle(byte[] a,,int start)Преобразует четыре байта, начиная с элемента a [start], всоответствующий float-эквивалент и возвращает результатpublic static stringToString(byte[] a)Преобразует байты массива а в строку.
Строка содержит шестнадцатеричные значения (связанные с этими байтами), разделенные дефисамиpublic static stringToString(byte[] a,int start)Преобразует байты массива а, начиная с элемента a[start],в строку. Строка содержит шестнадцатеричные значения(связанные с этими байтами), разделенные дефисамиpublic static stringToString(byte[] a,int start,int count)Преобразует count байт массива а, начиная с элементаа [ start], в строку. Строка содержит шестнадцатеричныезначения (связанные с этими байтами), разделенные дефисамиpublic static ushortToUIntl6(byte[] a,int start)Преобразует два байта, начиная с элемента а [ start], в соответствующий ushort-эквивалент и возвращает результатpublic static uintToUInt32(byte[] a,int start)Преобразует четыре байта, начиная с элемента а [ start], всоответствующий uint-эквйвалент и возвращает результатpublic static ulongToUInt64(byte[] a,int start)Преобразует восемь байтов, начиная с элемента а [ start], всоответствующий u long-эквивалент и возвращает результатПреобразует два байта, начиная с элемента а [ start], в соответствующий short-эквивалент и возвращает результатГенерирование случайных чисел с помощьюкласса RandomЧтобы сгенерировать последовательность псевдослучайных чисел, используйтекласс Random.