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

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

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

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

Для доступа 172 Часть (. Язык С№ к скрытой переменной экземпляра и служит ключевое слово с)таз. Например, приведенный ниже код является правильным с точки зрения синтаксиса С№ способом написания конструктора Несс () . рпЫ№с несс(кпс иЫсь, апс неадьс) ( сььз.изось = итосьт свае.не'цпс = нетайне; ) В этом варианте написания конструктора кеес() имена параметров совпадают с именами переменных экземпляра, а следовательно, скрывают их. Но для "обнаружения" скрытых переменных служит ключевое слово с(т1э.

ГЛАВА Массивы и строки в этой главе речь вновь пойдет о типах данных языка С№. В ней рассматриваются массивы и тип зсгГпо, а также оператор цикла гогеасП. Массивы Массив представляет собой совокупность переменных одного типа с общим для обращения к ним именем. В языке С№ массивы могут быть как одномерными, так и многомерными, хотя чаще всего применяются одномерные массивы. Массивы служат самым разным целям, поскольку они предоставляют удобные средства объединения связанных вместе переменных. Например, в массиве можно хранить максимальные суточные температуры, зарегистрированные в течение месяца, перечень биржевых курсов или же названия книг по программированию из домашней библиотеки.

Главное преимущество массива — в организации данных таким образом, чтобы ими было проще манипулировать. Так, если имеется массив, содержащий дивиденды, выплачиваемые по избранной группе акций, то, организовав циклическое обращение к элементам этого массива, можно без особого труда рассчитать средний доход от этих акций. Кроме того, массивы позволяют организовать данные таким образом, чтобы легко отсортировать их.

Массивами в С№ можно пользоваться практически так же, как и в других языках программирования. Тем не менее у них имеется одна особенностге они реализованы в виде объектов. Именно поэтому их рассмотрение было отложено до тех пор, пока в этой книге не были представлены объекты. Реализация массивов в виде объектов дает ряд существенных преимуществ, и далеко не самым последним среди них является возможность утилизировать неиспользуемые массивы средствам "сборки мусора". Одномерные массивы Одномерный массив представляет собой список связанных переменных. Такие списки часто применяются в программировании. Например, в одномерном массиве можно хранить учетные номера активных пользователей сети или текущие средние уровни достижений бейсбольной команды.

174 Часть (. Язык С№ Для того чтобы воспользоваться массивом в программе, требуется двухэтапная процедура, поскольку в С№ массивы реализованы в виде объектов. Во-первых, необходимо объявить переменную, которая может обращаться к массиву. И во-вторых, нужно создать экземпляр массива, используя оператор пен. Так, для объявления одномерного массива обычно применяется следующая общая форма: тип[) имя массива = печ тип[размер]; где тип объявляет конкретный тип элемента массива.

Тип элемента определяет тип данных каждого элемента, составляющего массив. Обратите внимание на квадратные скобки, которые сопровождают тип. Они указывают на то, что объявляется одномерный массив. А раэмер определяет число элементов массива. На заметку! Если у вас имеется некоторый опыт программирования на С или С++, обратите особое внимание на то, как объявляются массивы е С№. В частности, квадратные скобки следуют после названия типа, а не имени массива.

Обратимся к конкретному примеру. В приведенной ниже строке кода создается массив типа 1пс, который составляется из десяти элементов и связывается с переменной ссьики на массив, именуемой яавр1е. 1пк[] яавр1е = пен 1пк[10) В переменной яавр1е хранится ссылка на область памяти, выделяемой для массива оператором пен. Эта область памяти должна быть достаточно большой, чтобы в ней могли храниться десять элементов массива типа 1пю Как и при создании экземпляра класса, приведенное выше объявление массива можно разделить на два отдельных оператора.

Например: 1пг[) яввр1е; яевр1е = печ 100[10] В данном случае переменная яавр1е не ссылается на какой-то определенный физический объект, когда она создается в первом операторе. И лишь после выполнения второго оператора эта переменная ссылается на массив.

Доступ к отдельному элементу массива осуществляется по индексу. Индекс обозначает положение элемента в массиве. В языке С№ индекс первого элемента всех массивов оказывается нулевым. В частности, массив яавр1е состоит из [О элементов с индексами от 0 до 9. Для индексирования массива достаточно указать номер требуемого элемента в квадратных скобках. Так, первый элемент массива яавр1е обозначается как яавр1е [О], а последний его элемент — как яавр1е [9].

Ниже приведен пример программы, в которой заполняются все [О элементов массива яавр1е. у/ Продемонстрировать одномерння массив. оввай Зуякевг с1аяв Лггаувево ( якатъс чо10 Ма1п () ьпе[] яавр1е = пен гпк[10]; 1пк 1; Гос(1 = 0; 1 < 10) 1 = 1+1) яввр1е[1] = 3.; Глава 7, Массивы и строки 175 ток(1 = ОР 1 < 10' 1 1+1) Сопзо1е.иг1се11пе("завр1е(" + 1. и "]: завр1е(1]); ) ) При выполнении этой программы получается следующий результат: завр1е[0): 0 завр1е[1): '1 завр1е[2): 2 яавр1е[3]: 3 завр1е[4]: 4 завр1е[5]: 5 яавр1е[б): б завр1е[7]: 7 яавр1е[8): 8 завр1е[9]: 9 Схематически массив завр1е можно представить таким образом: 0 1 2 3 4 5 6 7 8 9 1 ! в. е Я в, й // Вычислить среднее арифметическое ряда значений.

пятно Вузкевт с1аяз йчегаде ( якакгс чогс Матп() ( апк(] пшпз = пен ало[10] 1пС ачч = 01 = 99; = 10[ = 1001 = 181 = 78; = 23; = бзк = 91 = 87[ = 49; ппвз[0) ппвз[1) пшпз [21 пшпз [3] пшпз [4] ловя (5] пчвз [б] пива[7) пивз181 пшпз [91 ГОГ(1ПС 1=0; 1 < 101 1+4) Массивы часто применяются в программировании потому, что они дают возможность легко обращаться с большим числом взаимосвязанных переменных. Например, в приведенной ниже программе выявляется среднее арифметическое ряда значений, хранящихся в массиве ппвз, который циклически опрашивается с помощью оператора цикла Гсг. 176 Часть ).

Язык С№ ачч = ачч + паин (1) ачд = анч / 10) сопво1е.иг1сеьапе("среднее: " + ачч); ) ) Результат выполнения этой программы выглядит следующим образом: Среднее: 53 Инициализация массива В приведенной выше программе первоначальные значения были заданы для элементов массива ппвэ вручную в десяти отдельных операторах присваивания.

Конечно, такая инициализация массива совершенно правильна, но то же самое можно сделать намного проще. Ведь массивы могут инициализироваться, когда они создаются. Ниже приведена общая форма инициализации одномерного массива. тип[] имя массива = (на11, на12, ча13, ..., ча1Н); где ча11-ча1Н обозначают первоначальные значения, которые присваиваются по очереди, слева направо и по порядку индексирования. Для хранения инициализаторов массива в С№ автоматически распределяется достаточный объем памяти.

А необходимость пользоваться оператором пеи явным образом отпадает сама собой. В качестве примера ниже приведен улучшенный вариант программы, вычисляющей среднее арифметическое. // Вычислить среднее арифметическое ряда значения. ивапч зувкеи; с1авв ачегаче ( вкакас чохе Маап() ( апк[) паин = ( 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 )р 1пк ачд = 0; бог(1пк 1=04 1 < 10; 1++) ачч = ачч + пива[1]т ачч = ачч / 104 Сопво1е.иг1ке11пе("Среднее: " + анч)т ) ) Любопытно, что при инициализации массива можно также воспользоваться оператором пеи, хотя особой надобности в этом нет.

Например, приведенный ниже фрагмент кода считается верным, но избыточным для инициализации массива наив в упомянутой выше программе. апк[] пиив = пеи 1пк[) ( 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 ); Глава 7. Массивы и отро(и 177 Несмотря на свою избыточность, форма инициализации массива с оператором пеы оказывается полезной в том случае, если новый массив присваивается уже существующей переменной ссылки на массив.

Например: . тпс [) пцшв; пцшв = пеы ьпс[) ( 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 )в В данном случае переменная пцшв объявляется в первом операторе и инициализируется во втором. И последнее замечание: при инициализации массива его размер можно указывать явным образом, но этот размер должен совпадать с числом инициализаторов. В качестве примера ниже приведен еще один способ инициализации массива пцшв. 1пс[) пцшв = пан 1пс [10) ( 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 )в В этом объявлении размер массива пцшз задается равным 10 явно. Соблюдение границ массива Границы массива в СФ строго соблюдаются.

Если границы массива не достигаются или же превышаются, то возникает ошибка при выполнении. Для того чтобы убедиться в этом, попробуйте выполнить приведенную ниже программу, в которой намеренно превышаются границы массива. // Продемонстрировать превышение границ массива. цв1пч Бувсаги с1авв Аггаукгг ( всас1с чо10 Маьп() ( ьпс[) вашр1е = пен 1пс[10); 1пс 1~ // Воссоздать превышение границ массива. Гог(1 = Ов г < 100р г = 1+1) вашр1е[г) = 1; Как только значение переменной 1 достигнет 10, возникнет исключительная ситуация типа 1пг)ехОцсОГнапдеехсерс1оп, связанная с выходом за пределы индексирования массива, и программа преждевременно завершится. (Подробнее об исключительных ситуациях и их обработке речь пойдет в главе 13.) Многомерные массивы В программировании чаше всего применяются одномерные массивы, хотя и многомерные не так уж и редки.

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

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