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

Г. Шилдт - С#4.0 Полное руководство (1160795), страница 152

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

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

Для такого обращения массива достаточно вызвать метод нечет ее ( ) . С его помощью можно обратить содержимое массива полностью или частично. Зтот процесс демонстрируется в приведенной ниже программе. УУ Обратить содержимое массива. пзтпд Яузтев; с1азз Ветегзеоево ( зтаС1с тото Маьп() ( гпт() повз = ( 1, 2, 3, 4, 5 ); Отобразить исходный порядок следования. Сопзо1е.ит1се("Исходный порядок следования: рпЫтс зтаС1с БСт1псСоврагег СпггепССО1Спте (деС; ) рпЫтс згатъс БСг1псСоврагег СиггепССп1Спте1дпогеСазе (дет; рпЫтс зтаС1с Бтт1пдСоврагег 1поатгапССп1тпте (Оет," рпЬ1тс зтаСТс БСг1псСоврагег 1птаг1апССп1Спге1опогеСазе (сеС; рпЬ11с зтатсс БСт1псСовратег Ото(1па1 (сес; ) рпЫ1с зтатьс БСг1псСоврагег Огс(1па11спогеСазе (сетг Без учета регистра, но с учетом культур- ной среды С учетом регистра и безотносительно к культурной среде Без учета регистра и безотносительно к культурной среде Порядковое сравнение с учетом реги- стра Порядковое сравнение без учета реги- стра Глава 21.

Пространство имен Зув1ео) 767 Гогеасп (гпс 1 гп пища) Сопяо1е.нг1ое(1 + " ")! Сопяо1е.нгусекгпе(); // Обратить весь массив. Ъггау.яеуегзе(пощя); // Отобразить обратный порядок следования. Сопяо1е.нггге("Обратный порядок следования: "); Гогеасп(1пс 1 1п ппщя) Сопяо1е.Хггсе(1 + " "); Сопво1е.нггсевгпе(); УУ Обратить часть массива. Яггау.аеуегяе(ппщя, 1, 3); О Отобразить обратный порядок следования. Сопяо1е.Хггсе("Частично обращенный порядок следования: "); Гогеасн(гпс 1 1п пощя) Сопяо1е.нг1те(1 + '); Сопяо1е.

Хггсе супе (); ) ) Эта программа дает следующий результат. Исходный порядок следования: 1 2 3 4 5 Обратный порядок следования: 5 4 3 2 1 Частично обращенный порядок следования: 5 2 3 4 1 Копирование массива Полное или частичное копирование одного массива в другой — это еще одна весьма распространенная операция с массивами. Для копирования содержимого массива служит метод Сору ( ) . В зависимости от его варианта копирование элементов исходного массива осуществляется в начало или в средину целевого массива. Применение метода Сору () демонстрируется в приведенном ниже примере программы. У/ Скопировать массив. пщпч Яуягещ; с1аяя Соруоещо ( ясасгс тога Маги() ( 1пс(] вопгсе = ( 1, 2, 3, 4, 5 ); гпс(] Сагчес = ( 11, 12, 13, 14, 15 гпс(] яопгсе2 = ( -1, -2, -3, -4, — 5 ); Отобразить исходный массив.

Сопяо1е.Хггсе("Исходный массив: "); гогеасп(1пс 1 1п вопгсе) Сопяо1е.исусе(1 + " "); Сопяо1е. Хг1севспе (); 768 Часть )1. Библиотека С№ Отобразить исходное содержимое целевого массива. Сопво1е.иг1се("Исходное содержимое целевого массива: "); гогеасп(1пс 1 тп Гагсег) Сопво1е.иг1се(1 + " "); Сопво1е.иг1пеътпе(); О Скопировать весь массив. Аггау.сору(вопгсе, Гагсес, вопгсе.ъепЧГЩ Отобразить копию. Сопво1е.иг1се("Целевой массив после копирования: "); Гогеасп(ьпп 1 ьп Сагсес) Сопво1е.нгтсе(1 + " "); Сопво1е.Хгьсеъьпе(); Скопировать в средину целевого массива. йггау.сору(аоцгсе2, 2, Гагсес, 3, 2); О Отобразить копию. сопво1е.хгьге("целевой массив после частичного копирования: Гогеасп(1пс 1 ьп Гагсег) Сопао1е.игьсе(1 + " "); сопао1е.хгггеь(пе () г ) ) Выполнение этой программы дает следующий результат.

Исходный массив: 1 2 3 4 5 Исходное содержимое целевого массива: 11 12 13 14 15 Целевой массив после копирования: 1 2 3 4 5 Целевой массив после частичного копирования: 1 2 3 -3 -4 Применение предиката Предика)п представляет собой делегат типа Бузгев. Ргег(1саье, возвращающий логическое значение сгце или Га1зе в зависимости от некоторого условия.

Он объявляется следующим образом. роЬ11с бе1есасе Ьоо1 Ргеоьсасе<Т> (Т оЬ№) Объект, проверяемый по заданному условию, передается в качестве параметра ОЬ31 Если объект ОЬ3 удовлетворяет заданному условию, то предикат должен возвратить логическое значение Ьгце, в противном случае — логическое значение Га1зе. Предикаты используются в ряде методов класса Аггау, включая: Ех1згз (), Г1пб (), Г1пб1пбех()и Г1пбй11(). В приведенном ниже примере программы демонстрируется применение предиката с целью определить, содержитсл ли в целочисленном массиве отрицательное значение.

Если такое значение обнаруживается, то данная программа извлекает первое отрицательное значение, найденное в массиве. Для этого в ней используются методы Ехъвсз () и Г1пб () . Продемонстрировать применение предикатного делегата. цвьпс Бузсею; Глава 21. Пространство имен Еуз(еп) 769 с1аяя Ргеооеюо ( О предикатный метод, возвраюаюямй логическое значение сгце, О если значение переменной ч оказываетсн отрицательным.

ясасгс Ьоо1 Ъянеэ(гпс ч) ( 11(ч < 0) гегцгп Ггпе; гегцгп Йа1вег ) ясас1с тога Ма1п() ( Тпс(] пцюя = ( 1, 4, -1, 5, -9 )Г Сопяо1е.нггсе("Содержимое массива пцюя: Гогеасй(1пс г гп ловя) Сопяо1е.нг1се(1 ь " "); Сопяо1е.нггсе11пе()1 // Сначала проверить, содержит ли массив пцюя отрицательное значение. 11(Актау.кх1яся(опия, Ргеооеюо.1янеэ)) ( Сопяо1е.нггсеъгпе("Массив пцгпя содержит отрицательное значение."); Затем найти первое отрицательное значение в массиве. Рпс х = Аггау.ггпо(плюя, Ргеоэето. 1янец)г Сопяо1е.нггсеъгпе("Первое отрицательное значение: " + х)г ) е1яе сопяо1е.хгггеьгпе("в массиве ппия отсутствуют отрицательные значения.") ) Эта программа дает следующий результат. Содержимое массива воюя: 1 4 -1 5 -9 Массив пцюя содержит отрицательное значение.

Первое отрицательное значение: -1 В данном примере программы в качестве предиката методам Ехаяся () и Р1пс( () передается метод 1яиео () . Обратите внимание на следующее объявление метода 1яыео () . ягаггс Ьоо1 1янеэ(гпС ч) ( Методы Ех1як я () и Р1пс( () автоматически и по порядку передают элементы массива переменной ч.

Следовательно, после каждого вызова метода 1яыео ( ) переменная ч будет содержать следующий элемент массива. Применение делегата Асехоп Делегат АСС1оп применяется в методе Аггау. РогЕасЬ () для выполнения заданного действия над каждым элементом массива. Существуют разные формы делегата АСЬ1оп, отличающиеся числом параметров типа. Ниже приведена одна из таких форм.

рцЬ11с г(е1ечасе тога Асстоп<Т> (Т оЬт') В этой форме объект, над которым должно выполняться действие, передается в качестве параметра оЬ91 Когда же эта форма делегата АСС1оп применяется в методе Аггау. РогЕасЬ (), то каждый элемент массива передается по порядку объекту оЬЗП УУО Часть П. Библиотека С() Следовательно, используя делегат Асб1 оп и метод Ео гЕасЬ (), можно в одном операторе выполнить заданную операцию над целым массивом. В приведенном ниже примере программы демонстрируется применение делегата Ассьоп и метода Го гЕасЬ ( ) .

Сначала в ней создается массив объектов класса МуС1а я я, а затем используется метод ЕЬои () для отображения значений, извлекаемых из этого массива. Далее эти значения становятся отрицательными с помощью метода Мео () . И наконец, метод ВЬои () используется еще раз для отображения отрицательных значений. Все эти операции выполняются посредспюм вызовов метода ЕогЕасЬ () . Продемонстрировать применение делегата Асп1оп. цв1пэ Вувпев; с1авя МуС1авя ( рцЬ11с ьпп 1; рцЬ11с МуС1аяя(ьпп х) ( 1 = х; ) с1авв Асгьопсево Метод делегата Ассьоп, отображахппий значение, которое ему передается. впап1с чо1б ВЬои(МуС1авя о) ( Сопяо1е.нг1ге(о.ь ) Еще один метод делегата Аспьоп, делающий отрицательным значение, которое ему передается. ясасьс чоьг) меч(мус1аяя о) ( о.).

= -о.ь; ) яоапьс чо1б Маьп() ( МуС1аяя () пшпя = пеи МуС1аяя (5); Сопво1е.агаве("Содержимое массива пцвв: Выполнить действие дпя отображения значений. Аггау.еогЕасЬ(пшпя, Аспьопоево.эьои); Сопяо1е.иг1пе11пе(); // Выполнить действие для отрицания значений.

Аггау.гогЕасЬ(пшпя, Асп1опоево.иеэ)п Сопяо1е.иг1пе("Содержимое массива пшпя после отрицания: "); Выполнить действие для повторного отображения значений. Аггау.гогЕасЬ(пцвя, Аспьопоево.ЯЬои); Сопяо1е.игьпеъьпе(); ) ) пшпв (0) пцвя (1) пцвв (2) пцвв (3) пцвв (4) пеи МуС1аяв(5); пеи МуС1аяя(2); пеи МуС1авв(З); пеи МуС1аяв(4); пеи МуС1аяв (1); Глава 21. Пространство имен Зуятеп) Т72. Ниже приведен результат выполнения этой программы. Содержимое массива пима: 5 2 3 4 1 Содержимое массива пима после отрицания: -5 -2 -3 -4 -1 КйаСС В2.1СОПЧЕХ 1ЕХ В программировании нередко требуется преобразовать встроенный тип данных в массив байтов. Допустим, что на некоторое устройство требуется отправить целое значение, но сделать это нужно отдельными байтами, передаваемыми по очереди.

Часто возникает и обратная ситуация, когда данные получаются из устройства в виде упорядоченной последовательности байтов, которые требуется преобразовать в один из встроенных типов. Для подобных преобразований в среде ]х]ЕТ предусмотрен отдельный класс В1ЬСопчегсею Класс ВТЬСопчегеег является статическим. Он содержит методы, приведенные в табл. 21.13. Кроме того, в нем определено следующее поле. рцЫ1с вгагзс теаг(оп1у Ьоо1 тяЬТГС1евпи1ап Зто поле принимает логическое значение ь где, если в текущей среде сначала сохраняется младший байт слова, а затем старший. Зто так называемый формат с прямым порядком байтов.

А если в текущей среде сначала сохраняется старший байт слова, а затем младший, то поле 1 я ~1Ь С1еЕпс(1ап принимает логическое значение Та1яе. Зто так называемый формат с обратным порядком байтов. В компьютерах с процессором ]п(е] Репбиш используется формат с прямым порядком байтов. Таблица 21.13.

Методы, определенные в классе в1ЬСоптгек Ьек Метод Назначение риЬ11с ясасзс 1опи ЭоиЬ1еТо1пС64В1ся(с[оиЬ1е иа1ие) риЫТс ясасьс Ьусе[) Сеевусея(Ьоо1 иа1ие) риЫ1с ясасус Ьусе[] Весвусея(снах иа1ие) риЫТС ясасзс Ьуге[] Сегвугея (г[оиЬ1е иа1ие) риЬ11с ясаС1с Ьуее [] Веевуьея(Т1оас ца1ие) риЫТС ясаг1с Ьуге[] Весвусея(1пс иа1ие) рцЫ1с ягаСТС Ьуге[] Сеевусея(1опи иа1ие) риЫ1с ягасзс Ьуге[] ВеЬВусея(япогг оа1ие) риЫ1с ягагьс Ьуге[] Сегвусея(идпе оа1ие) риЫТс ягагус Ьуге[] Весвуеея (и1опи оа1ие) Преобразует значение иа1ие в целочисленное значение типа 1опи и возвращает результат Преобразует значение иа1ие в однобайтовый массив и возвращает результат Преобразует значение оа1ие в двухбайтовый массив и возвращает результат Преобразует значение иа1 ив в восьмибайтовый массив и возвращает результат Преобразует значение т а1ие в четырехбайтовый массив и возвращает результат Преобразует значение ця1 ив в четырехбайтовый массив и возвращает результат Преобразует значение иа1ив в восьмибайтовый массив и возвращает результат Преобразует значение ця1 ие в двухбайтовый массив и возвращает результат Преобразует значение иа1ие в четырехбайтовый массив и возвращает результат Преобразует значение иа1ие в восьмибайтовый массив и возвращает результат П одолжение шабл.

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

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

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

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее