Главная » Просмотр файлов » Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010)

Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (1160865), страница 10

Файл №1160865 Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010)) 10 страницаНэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (1160865) страница 102019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Таким образом, если компилятор попытается скомпилировать код, где этому методу вдруг передается экземпляр типа Арр1е, он выдаст сообщение об ошибке и прекратит работу. Предположим, что метод переписан несколько иначе: оЬ)есс Соврисеьчс( оЬ)есс рагзв1, оЬ)есс рагав2 ) ( гесигп ( (ьпс) рагав1 + (ьпс) рагзв2) у 2. 0; ) Вторая версия СоврисеАчо также верна, но в этом случае исключена информация о типе.

Каждый объект и значение в С№ неявно унаследовано от яузгев. Оь) есг. Ключевое слово оь) есг в с№ является псевдонимом класса Бузгев. Оь) есс. поэтому вполне законно объявлять эти параметры с типом оЬ1есс. Хотя вторая версия метода может показаться более гибкой. она допускает разные случайности. Что если некоторый код в приложении попытается передать в Совриселчо объект типа Арр1е? Компьютер это пропустит, поскольку Арр1е наследуется от яузсев.

ОЬ) есс, как и любой другой класс. 38 Глава 3 Однако вы получите неприятный сюрприз во время выполнения, когда приложение сгенерирует исключение, сообщающее, что оно не может преобразовать экземпляр Арр1е в целое число. Метод потерпит неудачу, и если не предусмотрена обработка исключений, он прервет выполнение приложения. Вряд ли вас устроит, чтобы такое случилось в приложении, когда оно будет запущено где-то на рабочем сервере. Всезда лучше находить ошибки во время компиляции, чем во время выполнения. В этом и состоит мораль данной истории. Если вы используете первую версию Сотрцседтгс, то компилятор сообщит о том,что нелепо передавать методу экземпляр Арр1е.

И это намного лучше, чем узнать об этом от рассерженного заказчика, чей сервер электронной коммерции только что выдал сбой. Компилятор — ваш друг, так что будьте вежливы с ним и предоставляйте как можно больше информации о своих намерениях. Выражения Таблица 3.1. Приоритеты операций С№ Группа операций Вкодящие операции Описание Доступ к члену. Вызов метода. х(...) х[...] Первичные Доступ к элементу. х++, х— Постфиксныв инкреыент и декрвывнт. сен Т(...), пеи Т[...) Выражения создания. Суреог (Т) Получение объекта з уз сеяг. Туре для Т.

Создание объектов и массивов Вычисление выражения в управляемой и неуправляемой среде. с)геснег((х), сос)гесйег((х) Производитзначвние поумоя- чвнию для типа Т ' г(егац1С(Т) с(е1едзте (... ) Анонимная функция/метод Идентичность и отрицание. +х, -х Логическое отрицание. Двоичное отрицание.

!х Унзрные Првфиксныв инкреыент и декрвмвнт. ++х, — х Операция приведения. (Т) х х*у,хуу,хну х+у, х-у Мультипликвтивныэ Адцитивные Умножение, деление и получение остатка. Сложение и вычитание. ' Более подробные сведения о выражениях значений по умолчанию можно найти в разделе "Выражение значения ло умолчанию" главы 11. Выражения в СВ практически идентичны выражениям в С++ и дача.

При построении выражений важно помнить о приоритетах операций. Выражения С» состоят из операндов — обычно переменных или типов приложения — и операций. Многие из операций могут быть также перегружены. Перегрузка операций рассматривается в главе 6. В табл. 3. 1 перечислены приоритеты групп операций. Те, что находятся в верхней части таблицы, имеют более высокий приоритет, а операции, перечисленные внутри одной и той же категории — равный приоритет. Обзор синтаксиса СЗ 39 Окончание табл. 3. Г Описание Группа операций Входящие операции Сдвиг влево и вправо.

Сдвига х«у, х»у Меньше чем, больше чем, меньше или равно, больше или равно. х<у,х>у,х<=у,х>=у с тле, если х может быть преобразовано в т, иначе — Та1эе. Отношений и проверки типа х Тз Т Возвращаетх, преобразованное в Т, или по11, если преобразование невозможно. х аз т Эквивалентно и неэквивалентно. Эквивалентности х==у,х )=у Целочисленное побитовое "И", булевское логическое "И". Логическое "И" ха у Целочисленное побитовое исключающее "ИЛИ", булевское логическое исключающее "ИЛИ".

Логическое исклю- чающее "ИЛИ" х" у Целочисленное побитовое "ИЛИ", булевское логическое "ИЛИ" Логическое "ИЛИ" х)у Условное "И" Возвращается у, только если х истинно. х ак у х)) у х?? у Возвращается у,только если х ложно. Условное "ИЛИ" Сравнения с пп11 Если х не равно по11, возвращается х, иначе — у, х?у:х Возвращается у, если х истинно, иначе — к.

Условные Простое присваивание. х= у Присваивание нли анонимная функция Составное присваивание: может быть *=, /=, Ъ=, +=, = —, «кч»=, а=, "=или ) =. х ор= у Лямбда-выражение (анонимная функция/метод) (Тх) =>у На заметку) В разных контекстах зти операции могут иметь разное значение. Независимо от этого, их приоритеты никогда не меняются. Например, операция + может означать конкатенацию строк, если применяется к строковым операндам.

Используя перегрузку операций при определении собственных типов, можно заставить зти операции выполнять нечто семантически осмысленное для данного типа. Тем не менее, приоритеты операций изменить нельзя, за исключением тех случаев, когда применяются скобки. В выражениях операции с одинаковым приоритетом обрабатываются на основа ассоциативности. Все бинарные операции кроме присваивания являются левоассоциативными, а операции присваивания и условная операция (тернарная) — правоассоциативными. Операторы и выражения Операторы в Сй гщентичны по форме операторам в С++ и дата.

Точка с запятой завершает однострочный оператор. Однако блоки кода, заюпоченные в фигурные скобки (вроде тех, что следуют за операторами ТТ и ил11е), не должны завершаться точкой с запятой. Добавлять точку с запятой в конец блока не обязательно. Большинство операторов, доступных в С++ и дача, также доступны в СЗ, включая операторы объявления переменных, условные операторы, операторы управления потоком выполнения, операторы слуг'сагой и тд.

тем не менее, в сл (как и в дата) доступны 40 Глаза 3 некоторые операторы, не существующие в С++. Например, в С№ предусмотрен оператор СгуЛ1па11у, который подробно обсуждается в главе 7. В главе 12 будет описан оператор 1ос~с, синхронизирующий доступ к блокам кода. В С№ также перегружается ключевое слово п эх по, так что его можно использовать и как директиву, и нак оператор. Оператор свупо можно применять в сочетании с шаблоном Э1вроваЫе, о котором говорится в главах 4 и 13.

Также заслуживает упоминания оператор гогеасЬ, облегчающий итерацию по элементам коллекций. Более подробно этот оператор рассматривается в главе 9, когда пойдет речь о типах коллекций. Типы и переменные Каждая сущность в программе С№ является объектом, находящимся либо в стеке, либо в управляемой куче. Каждый метод определен в объявлении класса или структуры. Здесь нет вещей, подобных свободным функциям, которые определены вне контекста объявления с1авв или всгпсг, как в С++. Даже встроенные типы значений, такие как 1пг, 1опс, 1опд бооЬ1е и тд., имеют методы, ассоциированные с ними неявно. Поэтому в С№ вполне допустимо написать оператор вроде следующего: Яувсег.сопэо1е.нгасеЬ№пе( 42.товггьп Оператор, подобный этому, где метод вызывается на значении 4 2, покажется незнакомым тем.

кто работал на С++ или дата. Однако он подчеркивает, что в С№ все является объектами, даже самые базовые типы. Фактически ключевые слова встроенных типов в С№ на самом деле отображаются на типы из пространства имен Був Сев, представляющие их. Можно даже не использовать встроенные типы С№, а вместо этого явно применять типы из пространства имен Яувсет, на которые они отображаются (хотя такая практика нежелательна из соображений стиля). В табл. 3.2 описаны встроенные типы с уназаиием их размера и типов, на которые они отобрансаются в пространстве имен Бу в сеп.

Таблица 3.2. Встроенные типы С№ Совместимость с СЬБ вЬусе впогс гп Яувгеп.БВуге Бувгеп.1пг16 Яузгет.1сг32 Нвт 16 32 1оп9 Яувгеп.1пг64 Ьусе Яувгет.Буге Яувсеп.О1пг16 Яувгеп.91пг32 овпогг о№пс п1опд спаг 16 32 Бувгеп.О1пг64 Бувгеа.БЬаг 64 16 Ьоо1 Бувгет.воо1еас Бувгеп.Я№пд1е Яувгет.сопЬ1е 32 64 Яувгеа.оесъпа1 Бувгега.ЯСг1пд Бувгеп.ОЬЗесг Бувгет.ОЬ3есг 128 Тип С№ Размер в битах Тип Яузеем 11оас оопЬ1е с1ес1тв1 всггп9 оЬБесг оупаа1с Да Да Да Дв Нзт Нет Нет Да Да Да Да Да Да Да Дв Обзор синтаксиса С!) 41 Для каждого элемента этой таблицы в последней колонке указана совместимость данного типа со спецификацией общего языка (Сопппоп 1лпяпаяе 8рес!Йсайоп — С1.8). С(8 определена как часть стандарта СЫ для облегчения функциональной совместимости между языками.

С(Б является подмножеством общей системы типов (Сопппоп ЗУре 8уз!еш — СТ8). Несмотря на то что С1,К имеет развитый набор встроенных типов. не все языки, компилируемые в управляемый код, поддерживают их полный перечень. Однако все управляемые языки должны поддерживать типы из С1.8. Например, 1т!зпа( Ваз!с традиционно никогда не поддерживал беззнаковых типов. Поэтому проектировщики СЫ определили С18 для стандартизации типов с целью облегчения функциональной совместимости между языками. Если приложение будет целиком написано на СЗ и не взаимодействует с компонентами, позаимствованными из других языков, то беспокоиться о соответствии строгим требованиями С1.8 не стоит. Но если работа ведется над проектом, в котором компоненты строятся с использованием различных языков, то соответствие С18 становится намного более важным. В управляемом мире СЬК существуют два вида типов.

° Типы значений (ча1пе !урез). Определяются в СЗ с применением ключевого слова зсгисс. Экземпляры типов значений — единственный вид экземпляров, которые могут располагаться в стеке. В куче они находятся, если являются членами ссылочных типов или же упакованы в объекты ссылочных типов, о чем будет рассказываться позднее. Эти типы подобны структурам С++ в том смысле.

что по умолчанию они копируются по значению при передаче в вице параметров методам или присваивании другим переменным. Хотя встроенные типы СЗ представляют тот же вид значений, что и примитивные типы, Зама, полных аналогов в Зага для них нет. ° Сськлочные пшпы (геуегепсе !урез). Часто определяются в Сй с применением ключевого слова с1азз. Они называются ссылочными типами потому. что переменные. используемые для манипуляций ими, в действительности являются ссылками на объекты из управляемой кучи. Фактически переменные ссылочных типов СЬН подобны переменным типов значений, которые имеют ассоциированный тип и содержат указатель на объект в куче, Для определения таких объектов, создаваемых в куче, используется определение с1азз.

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

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

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

Нэш Трей - C# 2010
Accelerated_C_2010-4565
3_syntax_overview
3_generics_1.cs
as_1.cs
boxing.cs
conversions_1.cs
implicit_type_1.cs
is_1.cs
references_1.cs
references_2.cs
references_3.cs
values_1.cs
4_classes_structs
4_abstract_classes_1.cs
4_beforefieldinit_1.cs
4_box_1.cs
4_box_2.cs
4_box_3.cs
4_box_4.cs
4_box_5.cs
4_class_definition_1.cs
4_compareto_1.cs
4_containment_example_1.cs
4_containment_example_2.cs
4_containment_example_3.cs
4_ctor_struct_1.cs
4_ctor_struct_2.cs
4_ctor_struct_3.cs
4_destructor_1.cs
4_destructor_2.cs
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7029
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее