Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 145

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 145 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1452019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 145)

Каждый байт в массиве будет находиться в пределах от 0 до вусе. Мвхув1ие-1 включительно риытс гггтва1 сотые нехспсиые () Возвращает из последовательности следующее случайное число, которое представлено в форме с плавающей точкой, больше или равно 0,0 и меньше 1,0 ргогескеп итгтва1 СоиЫе Яавр1е() Возвращает нз последовательности следующее случайное число, которое представлено в форме с плавающей точкой, больше или равно 0,0 и меньше 1,0. Для получения несимметричного или специального распределения случайных чисел этот метод необходимо переопределить в производном классе Ниже приведена программа, в которой применение класса Папг(ов демонстрируется на примере создания компьютерного варианта пары игральных костей.

// Компьютерный вариант пары игральных костей. свтпд Яувтев; с1авв Паппрьсе ( втат1с тстп Ма1п () Палг(ов гап = лен Вапг(ов() ССЛВС1Е.ИГ1СЕ(таП.НЕХС(1, 7) + " ") 7 Сспвс1е.нг1теьтпе (кап .Нехт (1, 7) ); ) 5 2 1 б При выполнении этой программы трн раза подряд могут быть получены, например, следующие результаты; 738 Часть П. Библиотека С№ Управление памятью и класс Ос В классе ас инкапсулируются средства "сборки мусора". Методы, определенные в этом классе, перечислены в табл. 21.15. Таблица 21.16. Методы, определенные в классе ас Метод Назначение риЫ1с ясас№с иосг)дсъ(нвиосугсвяяисе (1опд я№яе) Задает в качестве параметра язве количество байтов, распределенных в неуправляемой области памяти риЫ1с яквС№с иоя б Со11всС () Инициализирует процесс "сборки мусора" риЬ1№с якяС№с воя б Со11всС ().пс вяхйел) Инициализирует процесс "сборки мусора" в обла- стях памяти с номерами поколений от О до ияхавп риысс ясясгс иост( со11всс (ьпс инициализирует процесс "сборки мусора" в облатахавл, пссо11есссопмог)е бсмомв) стах памяти с номерами поколений от О до иахдеп в режиме, определяемом параметром асиос(в риЫ№с якаС1с №пС Со11всС№опСоипС (№пС дел) Возвращает количество операций "сборки мусора", выполненных в области памяти с номером поколе- ния дел риЫ№с всас№с №пс Сетпвпвгяи№оп (ЬЬбвсС о) Возвращает номер поколения для области памяти, адресуемой по "слабой" ссылке, задаваемой пара- метром о.

Наличие "слабой" ссылки не защищает объект от "сборки мусора" риЫ№с яквС№с 1опд Возвращает общий объем памяти (в байтах), выдеОестосв1меиоту(ьоо1 со11всс) ленной наданный момент. Если параметр со11есс имеет логическое значение сгие, то сначала выполняется "сборка мусора" риЫ№с яевС№с ионн кеврв1№ие (оьбвсс о) Создает ссылку на объект о, защищая его от "сборки мусора". Действие этой ссылки оканчивается после выполнения метода кеврл1№ие () риЬ11с ятяС№с иоя а Неиоиенеиокуггеяяисе(1опд язве) Задает в качестве параметра я№яе количество байтов, освобождаемых в неуправляемой области памяти Вызывает деструктор для объекта о.

Этот метод ан- нулирует действие метода зиррсея ягьпя1№яе () риЫ№с ятаС1с гоя б кеквдьясесгокгзпа1№яе (оЬбесс о) риЫ№с ясвс1с иосг) Яиррсеяяръля1№яв (ЬЬбесС о) Препятствует вызову деструктора для обьекта о риЬ№№с яиаС№с воя а Ивсктоггепг(спдрспа11яегя() Прекращает выполнение вызывающего потока до тех пор, пока не будут выполнены все вызванные и неза- вершенные деструкторы Кроме того, в классе ОС определяется следующее доступное только для чтения свойство: риЬ1№с яьяС№с хпС Мвхпепвкагьоп ( деС) ) Свойство МвхбепетаС№оп содержит максимальный номер поколения, доступный для системы. Номер поколения обозначает возраст выделенной области памяти. Чем старше Глава 2).

Пространство имен Яушев 739 Класс оЬ~ ест= Класс ЬЬ1есг положен в основу типа оЬ1есг в С(). Члены класса ОЬ1есг подробно рассматривались в главе 11, но поскольку он играет главную роль в С(т, то его методы повторно перечисляются в табл. 21.16 ради удобства.

В классе оьб есг определен конструктор риь11с ОЬ)ест()) который создает пустой объект. Таблица 21.1В. Методы, определенные а классе О)зчесг рчЫ1с ч1ггиа1 Ьоо1 ЕЧча1я(оЬбесг сш Возвращает логическое значение ггяе, если вы- зывающий обьекг оказывается таким же, как и ОбЬЕКГ, ОПрЕдЕЛяЕМЫй ПараМЕтрОМ сь. В ПрОМВ- ноы случае возвращается значение га1яе роЬ11с ягагьс Ьоо1 Ецпа1я(оЬбесг сЬ1, оЬ)ест ЬЬЕ) Возвращает ломческое значение ггпе, если объ- ект ЬЬ1 оказывается таким же, как и объект сЫ. В противном случае возвращается значение Га1яе ргогесгег) Ггпа11ге() Выполняетзавершающиедействия перед про- цессом "сборки мусора". В С» метод г1 па11 ке () доступен через деструктор выделенная область памяти, тем больше номер ее поколения.

Номера поколений позволяют повысить эффективность работы средств "сборки мусора". В большинстве приложений возможности класса ЕС не используются. Но в особых случаях они оказываются весьма полезными. Допустим, что требуется организовать принудительную "сборку мусора" с помощью метода Вс11есг () в выбранный момент времени. Как правило, "сборка мусора" происходит в моменты, не указываемые специально в программе.

А поскольку для ее выполнения требуется некоторое время, то желательно, чтобы она не происходила в тот момент, когда решается критичная по времени задача. С другой стороны, "сборку мусора" и другие вспомогательные операции можно произвести во время простоя программы. Для проектов с неуправляемь1м кодом особое значение имеют два следующих метода из класса ЬС: Аг(диевогургеяяцге () и Кевсчеиевсгургея яцге () .

С их помощью указывается большой объем неуправляемой памяти, выделяемой или освобождаемой в программе. Особое значение этих методов состоит в том, что система управления памятью не контролирует область неуправляемой памяти. Если программа выделяет большой объем неуправляемой памяти, то это может сказаться на производительности, поскольку системе ничего неизвестно о таком сокращении объема свободно доступной памяти. Если же большой объем неуправляемой памяти выделяется с помощью метода ))с)с)Мевоту рте я ям ге ( ), то система С) К уведомляется о сокрашении объема свободно доступной памяти. А если выделенная область памяти освобождается с помощью метода Кевочеиевогургея яцге (), то система СЕК уведомляется о соответствующем восстановлении объема свободно доступной памяти.

Следует, однако, иметь в виду, что метод Кевочеиевсгургеяяоге () необходимо вызывать только для уведомления об освобождении области неуправляемой памяти, выделенной с помощью метода Лс)с)Мевогургеяяцге () . 740 Часть П. Библиотека СЭ Окончание табл. 2(пб Назначение Метод риЫъс кугкиа1 1пк Оекнаапсог(е() Возвращает хеш-код, связанный с вызывающим объектом роЫТс туре аектуре() Получает тип объекта во время выполнения про- граммы ртокесквп оЬбеск ИеиЬвкньаес1опе() Создает "неполную" копию объекта. При этом ко- пируются члены, но не объекты, на которые ссыла- ются эти члены рпЫ1с асак1с Ьоо1 аетегепсевяпа1э(оЬбеск оЬ1, оЬ(ест оЬ2) Возвращает логическое значение ские, если объекты оы и оы ссылаются на один и тот ке объект.

В противном случае возвращается латме- ское значение гагае рпЫТС г1гкоа1 эккэпс Тоякг1пс( ) Возвращает строку, описывающую обьект Интерфейсы 1СотрагаЬ1е и ХСовратаЪ1е<Т> Во многих классах приходится реализовывать интерфейс 1СоюракаЫе или Тсоюракаые<Т>,поскольку он позволяет сравнивать один объект с другим, используя различные методы, определенные в среде .НЕТ Ггашетуог(с Интерфейсы Тсоюракаые и Тсоюрагаые<т> были представлены в главе 18, где они использовались в примерах программ для сравнения двух объектов, определяемых параметрами обобщенного типа.

Кроме того, они упоминались при рассмотрении класса актау ранее в этой главе. Но поскольку зти интерфейсы имеют особое значение и применяются во многих случаях, то ниже приводится их краткое описание. Интерфейс 1СоглрагаЬ1е реализуется чрезвычайно просто, потому что он состоит всего лишь из одного метода: 1пк Соирагето(оЬ)есС н) В этом методе значение вызывающего объекта сравнивается со значением объекта, определяемого параметром щ Если значение вызывающего объекта больше, чем у объекта ш то возвращается положительное значение; если оба значения равны — нулевое значение, а если значение вызывающего объекта меньше, чем у объекта ш — отрицательное значение. Обобщенный вариант интерфейса Тсоюракаые объявляется следующим образом: рпЫТс улке<тасе 1СоирагаЫе<т> В данном варианте тип сравниваемых данных передается параметру т в качестве аргумента типа.

В силу этого объявление метода союрагето () претерпевает изменения и выглядит так, как показано ниже. 1пк Соирагето(т оЬУ) В этом объявлении тип данных, которыми оперирует метод СоюракеТо ( ), может быть указан явным образом. Следовательно, интерфейс Тсоюракаые<Т> обеспечивает типовую безопасность. Именно по этой причине он теперь считается более предпочтительным в программировании на С(г, чем интерфейс Тсоюракаые. Глава 2). Пространство имен Зув(ел) 741 Интерфейс 1Еср~айаЬ1е<Т) Интерфейс 1кс(оасаЫе<т> реализуется в тех классах, где требуется определить порядок сравнения двух объектов на равенство их значений.

В этом интерфейсе определен только один метод, кс)на1з (), объявление которого приведено ниже. Ьоо1 КЧна1в(т оьу) Этот метод возврашает логическое значение ь сое, если значение вызывающего объекта оказывается равным значению объекта оЬт', в противном случае — логическое значение га15е. Интерфейс 1Ет)насеЫе<Т> реализуется в нескольких классах и структурах среды .)ь)ЕТ Егашечтог)г, включая структуры числовых типов, Ппаг, 1ПЬ32, Поо1еап и Яьг1по. Интерфейс 1Соаттех~хЬ1е Интерфейс 1сончеттьь1е реализуется в структурах всех типов значений, ягт1нп и ПагеТТве. В нем определяются различные преобразования типов.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее