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

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

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

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

Хотя многие из этих шаблонов знакомы программистам на С++ и Зача, все же некоторые уникальны для . ХЕТ и его общеязыковой исполняющей среды (Согпшоп 1япяцаяе Кипцше — СЬК). В последующих главах будет показано, как применять эти обязательные идиомы и приемы проектирования для гладкой интеграции приложений С№ с исполняющей системой .ХЕТ, причем основное внимание сосредоточивается на новых средствах С№ 4.0.

Шаблоны проектирования документируют передовой опыт в разработке приложений, который накоплен множеством программистов в течение длительного времени. Фактически платформа .ХЕТ г'гашевог)г сама по себе реализует многие хорошо известные шаблоны проектирования. К тому же последние три версии .ХЕТ г гэгпеиог)г и две версии С№ высветили многие новые идиомы и передовые приемы. Вы будете знакомиться с ними на протяжении всей книги.

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

принимающие в качестве аргументов функции и обычно возвращающие другие функции. Несмотря на то что технику функционального программирования можно было реализовать на С№ (хотя и с некоторыми трудностями), новые средства языка С№ 3.0 обеспечили среду, в которой функциональное программирование может органично переплетаться с обычным стилем императивного программирования С№. ЫХЯ позволяет выразить операции запросов данных (которые обычно по природе своей являются функциональными), используя естественный для языка синтаксис.

Однажды увидев. как работает ЫХЯ, вы поймете, что можете сделать намного больше, чем простые запросы данных — его можно использовать для реализации сложных функциональных программ. .ХЕТ и СЬК предоставляют уникальную и стабильную межплатформенную исполняющую среду. С№ — только один из языков, ориентированных на эту мощную исполняющую систему. Вы обнаружите, что многие из приемов, описанных в этой книге, также применимы к любому языку, ориентированному на исполняющую систему .

ХЕТ. Введение 17 Тем, у кого есть серьезный опыт работы на С++, и кто знаком с такими концепциями, как канонические формы С++, безопасность исключений, КАП 1Кезоцгсе Асци!з!поп 1з 1п!ВаИзайоп — захват ресурсов является инициализацией). а также корректность констант, в книге будет показано, как применить все эти концепции в С№. Если вы — программист на,1ача или ч!зиа! Ваз!с.

потративший годы на разработку собственного набора приемов, и хотите знать, как эффективно применить их в С№, вы найдете здесь ответ и на этот вопрос. Как вы вскоре убедитесь, для того, чтобы стать экспертом в С№, не нужно тратить годы на приобретение опыта методом проб и ошибок. Вам просто нужно изучить правильные вещи и правильные способы того, как их следует делать. Именно потому была написана эта книга.

Как организована эта книга Предполагается, что вы уже имеете практический опыт работы с некоторым объектно-ориентированным языком, таким как С++. дача или ч!зиа) Ваз!с .1чЕТ. Поскольку язык С№ унаследовал свой синтаксис от С++ и дача, в книге не дается полное описание синтаксиса С№, за исключением тех моментов, в которых он отличается от С++ или .1ача. Если вы уже немного знаете С№, то можете лишь пролистать илн вообще пропустить главы 1-3. ° В главе 1, "Обзор С№", дается первоначальное представление о том, как выглядит простое приложение С№, и предлагается описание некоторых базовых отличий среды программирования С№ от среды "родного" С++.

° В главе 2, "С№ и СЬК", развивается тема, поднятая в главе 1. Благодаря ней, вы кратко ознакомитесь с управляемой средой, внутри которой выполняется приложение С№. В главе рассказывается о сборках — базовых строительных блоках приложений, в которые компилируются файлы кода С№. Вдобавок будет показано, как метаданные делают сборки самодостаточными. ° В главе 3, "Обзор синтаксиса С№", предлагается описание синтаксиса языка С№.

Будут продемонстрированы две фуцдаментальных группы типов СЬК: типы значений и ссылочиые типы. Кроме того, будут описаны пространства имен и то, как их можно использовать для логического разделения типов и функциональности внутри приложений. ° Главы с 4 по 13 содержат углубленное описание применения полезных идиом, шаблонов проектирования и передовых приемов в программах и проектах С№, Хотя материал этих глав и выстроен в логическом порядке, но неизбежно в одних главах будут присутствовать ссылки на приемы или темы, описанные в других !последующих) главах.

Избежать таких ситуаций почти невозможно, однако они сведены к минимуму. ° Глава 4, "Классы, структуры и объекты". содержит подробности определения типов в С№. Вы узнаете больше о типах значений и ссылочных типах в С1.К. Также кратко рассматривается встроенная поддержка интерфейсов внутри СЬК и С№. Вы увидите, как работает наследование в С№, и узнаете, что каждый объект наследуется от типа зуз сея. оь)ее с. Эта глава также содержит исчерпывающую информацию об управляемой среде и о том, что нужно знать для определения удобных для нее типов. Начатое в этой главе обсуждение продолжается в последующих главах.

° !!лава б, "Интерфейсы и контракты", посвящена интерфейсам и роли, которую они играют в языке С№. Интерфейсы представляют собой контракт функционально- 18 Введение сти, которую могут реализовывать типы. Вы узнаете о многих способах реализации интерфейсов типами, а также о том, как исполняющая система выбирает, какие методы должны вызываться при обращении к методам интерфейса. В главе 6, "Перегрузка операций", детализируются способы создания специальной функциональности встроенных операций языка С№, когда они применяются к собственным типам. Вы увидите, как перегружать действие операций, хотя не все управляемые языки, которые компилируются в код для С1Л, способны пользоваться перегруженными операциями.

1Кава 7, "Безопасность и обработка исключений", посвящена средствам обработки исключений языка С№ и СЬЕ. Хотя синтаксис подобен С++, создание безопасного и нейтрального в отношении исключений кода не так-то просто — даже сложнее создания безопасного к исключениям кода на "родном" С++. Вы увидите, что написание устойчивого к сбоям, безопасного к исключениям кода вообще не требует применения конструкций сгу, свесь или Гтпз11у. Будут также описаны некоторые новые возможности, добавленные в исполняющую систему .1ЧЕТ 2.0, которые позволят создавать более устойчивый к сбоям код. В главе 8, "Работа со строками", описаны строки — первоклассный тип С1Я вЂ” и методы их эффективного применения в С№. Эначительная часть этой главы посвящена средствам строкового форматирования различных типов в .1нЕТ РгашевогК и тому, как заставить определяемые вами типы вести себя подобным образом за счет реализации интерфейса 1гогаассаь1е.

Дополнительно будут представлены средства глобализации каркаса и показано, как создавать собственные 0 о1г пгего Го для культур и регионов, о которых .1нЕТ РгэгпеюогК не имеет понятия. В главе 9, "Массивы, типы коллекций и итераторы", рассматриваются разнообразные массивы и типы коллекций, доступные в С№. Можно создавать два типа многомерных массивов наряду с собственными типами коллекций, используя служебные классы коллекций.

Будет показано, как определять прямые, обратные и двунаправленные итераторы, применяя новый синтаксис итераторов, введенный в С№ 2.0, так что типы коллекций смогут успешно работать с операторами Гогезсж В главе 10, "Делегаты, анонимные функции и события", демонстрируются механизмы, используемые внутри С№ для обеспечения обратных вызовов. В С№ обратные вызовы инкапсулируются в вызываемые объекты, которые называются делегалюми. Вдобавок, С№ 2.0 позволяет создавать делегаты с сокращенньэи синтаксисом, называемые анонимными функциями. Анонимные функции подобны лямбда-функциям в функциональном программировании. К тому же будет показано.

как на основе делегатов реализуется механизм уведомления публикации/ подписки на события, позволяя отделять источник события от его потребителя. В главе 11, "Обобщения", рассматривается, пожалуй, наиболее впечатляющее средство, появившееся в С№ 2.0 и СЬЕ. Тем, кто имел дело с шаблонами С++, обобщения покажутся знакомыми, хотя между ними есть немало фундаментальных отличий. С помощью обобщений можно создавать оболочку функциональности, внутри которой во время выполнения определяются более специфичные типы. Обобщения наиболее полезны для типов коллекций и обеспечивают значительную эффективность по сравнению с коллекциями из предыдущих версий .1ЧЕТ. Начиная с С№ 4.0, применение обобщенных типов стало еще более интуитивно понятным за счет поддержки ковариантности и контравариантности.

Теперь допускается присваивание одного обобщенного типа другому, что сокращает потребность в громоздких методах преобразований, которые требовались ранее. Введение 19 ° В главе 12, "Многопоточность в С№", показано то, что необходимо делать при создании многопоточных приложений в управляемой виртуальной исполняющей системе С№. Если вы знакомы с потоками в среде %Чп32, то заметите существенные отличия.

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

Тип файла
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 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7054
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее