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

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

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

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

Делегаты и события — это конструкции, используемые для регистрации методов обратного вызова, которые вызываются при их инициации. Обычно они привязываются к некоторому где-то определенному методу. Но благодаря анонимным методам, код делегатов или событий можно определять методом встраивания — прямо в той точке, где делегат или событие устанавливается. Это удобно, если делегат просто должен выполнить небольшой кусочек работы, для которого определение отдельного метода было бы избыточно.

Что еще лучше, так это то. что тело анонимного метода имеет доступ ко всем переменным, находящимся в контексте той точки, где этот метод определенз. Анонимные методы подробно рассматриваются в главе 10. Лямбдавыражения — новшество в С№ 3.0 — призваны прийти на замену анонимным методам, и позволяют писать более читабельный код. В С№ 2.0 появилась поддержка итераторов. Любой, кто знаком со стандартной библиотекой шаблонов С++ !8)апбагб Тешр1а!е агату — 8ТЬ), знаком также с итераторами и приносимой ими пользой.

В С№ обычно используется оператор г о ге а сЬ для выполнения прохода !итерации) по объекту, ведущему себя как коллекция. Этот объект коллекции При работе с С++/С1Л, стандартизованным в Есша-372 и впервые доступным в Ч!зла) 8!ос)!о 2005, можно совместно использовать обобщения и шаблоны. Это называется замьосанием !с1озпге) яли захеатпом переменных. 26 Глава! должен реализовывать интерфейс 1епикегаЬ1е, включающий метод Регепииегагог. Реализация метода Рескповегагог для контейнерных типов обычно очень утомительиа. Однако при использовании итераторов С№ реализация этого метода становится элементарной.

Более подробная информация об итераторах дается в главе 9. И, наконец, в С№ 2.0 была добавлена поддержка часпшчных гпипоэ (рагг1а1 гуреэ). До появления С№ 2.0 вы должны были определять каждый класс С№ целиком в одном файле (также называемом единицей комлиляшги). Это требование было снято для того, чтобы можно было создавать "скелетиый" код. Например, с помощью многочисленных мастеров 1г!эпа) ЗШб!о можно генерировать такие полезные вещи, как типы-наследники зузееи. РаТа.

Рзсазес, позволяющие обращаться к информации в базе данных. До появления С№ 2.0 вносить изменения в сгеиерироваииый код было проблематично. Нужно было либо наследоваться от него, либо редактировать автоматически сгенерированный код. Редактирование сгенерированного кода — дело рискованное, поскольку внесенные изменения обычно теряются после того, как мастер по той или иной причине повторно сгеиерирует код. Частичные типы решили эту проблему, поскольку теперь можно помещать сгенерированный код в отдельный файл, так что вносимые изменения ие будут теряться после его перегеиерации.

Чтобы увидеть отличный пример применения частичиых типов, загляните в код, сгенерированный в результате создания приложения %Чпдотгэ гоппэ в 1Г1эпэ( ЗГпФо. Подробнее о частичных типах рассказывается в главе 4. Обзор средств, добавленных в СФ 3.0 Язык С№ 3.0 включает иесколько великолепных новых средств. Большинство из иих предназначено для поддержки языка интегрированных запросов (Ьапдпаде 1птедга!еб йогу — Ы1ЧЯ). Тем ие менее, все оии исключительно полезны и при использовании отдельно, вие контекста Ы1Чй. Многие из иих упрощают применение приемов фуикциоиальиого программирования.

Теперь С№ поддерживает неявно типизированные локальиые переменные за счет испольэоваиия ключевого слова чаг. Важно отметить, что эти переменные ие являются бестиповыми; скорее, их тип выводится во время компиляции. Подробнее о иих читайте в главе 3. Хотелось ли вам когда-нибудь создать простой тип для хранения взаимосвязанных даииых, ио без утомительной необходимости создания целого нового класса7 В случаях подобного рода иа помощь приходит новая поддержка анонимных типов, которая избавляет от этой обяэаииости. За счет применения анонимных типов можно определять и создавать экземпляры типа в одном составном операторе. Об анонимных типах речь пойдет в главе 4. Автоматически реализуемые свойства — еще одно полезное новое средство для сокращеиия объема клавиатурного ввода и снижения вероятности внесения ошибок. Сколько раэ вам приходилось просто объявлять класс для хранения нескольких фрагментов данных и испытывать досаду от необходимости набирать большой объем кода средств доступа (эег и дег) к этим даииым7 естественно, так нужно было поступать из-за того, что это полезный прием инкапсуляции.

К счастью, теперь автоматически реализуемые свойства позволили значительно сократить объем рутинной работы, иеобходимой для определения свойств в типах. Подробнее об этом читайте в главе 4. Если говорить об удобстве, то стоит вспомнить еще и о том, что в С№ 3.0 появились два новых средства, помогающие создавать и инициализировать экземпляры объектов. За счет применения ииициалиэаторов объектов и коллекций можно создавать экземпляры и ииициализировать как объект, так и коллекцию в одиом составном операторе. Ииициализаторы объектов рассматриваются в главе 4, а ииициэлизаторы коллекций — в главе 9.

В С№ 2.0 были представлены определения частичных классов для облегчения примеиеиия генераторов кода. В С№ 3.0 к этому добавились частичные методы. Применяя Обзор С№ 27 частичные методы, генератор кода может объявлять сигнатуру метода, а потребитель этого сгенерированного кода — тот, кто создает остальную часть определения частичного класса — может решать, реализовывать его или нет. Частичные методы рассматриваются в главе 4.

Расширяющие методы — одно из самых впечатляющих новых средств. На первый взгляд, это просто статические методы, которые могут быть вызваны так, будто они являются методами экземпляра. Они не имеют никакого специального доступа к экземпляру, с которым работают, так что в этом отношении они являются простыми статическими методами.

Однако их синтаксис позволяет программировать в более функциональной манере, в результате получая более ясный и читабельный код. Теме расширяющих методов и тому, что с ними можно делать, посвящена целая глава 14. Возможно, еще более впечатляющим новшеством, чем расширяющие методы, является поддержка лямбда-выражений. Лямбда-выражения вытесняют собой анонимные методы. Другими словами, если бы лямбда-выражения появились еще в С№ 2.0, то необходимость в анонимных методах вообще бы не возникла. Вдобавок лямбда-выражения дают много больше, чем анонимные методы, поскольку они могут быть преобразованы как в делегаты, так и в деревья выражений. Лямбда-выражения рассматриваются в главе 15. Движущей силой всех новых средств С№ 3.0 можно считать язык ЫХЯ, который воплотил в себе их все — особенно расширяющие методы, лямбда-выражения и анонимные типы.

Также он добавил некоторые ключевые слова языка. позволяющие кодировать интуитивно понятные операторы запросов, гладко заполняя брешь между объектно-ориентированным миром и миром данных. Ы1ЧЯ можно применять для доступа к данным из множества источников. Среда У!эиа) 3!пг)!о предоставляет возможность использования ЫгчЯ на встроенных объектах коллекций. хранилищах данных БЯЬ и ХМЬ. Вскоре ожидается поддержка множества других источников данных, как от М!сгоэой, так и от независимых поставщиков. Например, Ыг1й можно будет применять для подключения к ц!м! (уу!пс)отгэ мапаяешеп! !пэгпипепгайоп — инструментальные средства управления средой %г!пбоиэ), объектной модели документа !Росшпеп! ОЬ)ес! Мобе!— ВОМ) и тд.

Вдобавок в разработке находятся реализации, которые позволят использовать Ыгчй для осуществления поиска с помощью популярных веб-сайтов, таких как Оооя1е и Р!!с)гг. ЫХЯ посвящена глава 16. Обзор новых средств СФ 4.0 С определенной долей уверенности можно утверждать, что все новые средства С№ 4.0 касаются возможности взаимодействия. Самым важным средством является новый тип с!упавзс.

Использование типа бупаа№с позволяется оставить в прошлом все сложности взаимодействия с объектами СОМ или типами, созданными динамическими языками .НЕТ. Язык Н!эиа) Ваз!с некоторое время опережал С№ в отношении возможности взаимодействия. Но с появлением С№ 4.0 это отставание преодолено.

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

Тем не менее, есть еще одно средство, которое идет рука об руку со значениями аргументов по умолчанию — именованные аргументы. В С№ 4.0 можно передавать аргументы методам в виде именованных аргументов, в результате чего порядок аргументов в списке становится несущественным. Это уже неплохо зву- 28 Глава 1 чит, а еще большие преимущества данное средство проявляет в сочетании со значениями аргументов по умолчанию и возможностью взаимодействия с СОМ. Нередко интерфейсы автоматизации СОМ содержат методы с множеством параметров, которые часто являются необязательными.

Благодаря механизму аргументов по умолчанию, исчезает необходимость указывать значения для всех необязательных параметров. Кроме того, используя именованные аргументы, можно выбирать, какие именно из аргументов в списке умолчанию нужно предоставить. Завершает список новых средств С№ 4.0 вариантность. В эту версию была добавлена поддержка новых контекстных ключевых слов, которые позволяют объявлять ковариантные и контравариантные обобщенные интерфейсы и делегаты. Объявить интерфейс как ковариантный или контравариантный можно за счет декорирования обобщенных аргументов ключевыми словами з.п и оис. Это позволяет проводить интуитивно понятные неявные ковариантные преобразования ссылок на 1ЕпопегаЬ1е<з С гзпо> в ссылки на 1ЕпшпегаЬ1е<оЬ) есг>. Подобные действия были невозможны до появления С№ 4.0.

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

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