ebook img

Изучаем C# PDF

816 Pages·2014·23.29 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Изучаем C#

ББК 32.973.2-018.1 УДК 004.43 С80 Стиллмен Э., Грин Дж. С80 Изучаем C#. 3-е изд. — СПб.: Питер, 2014. — 816 с.: ил. — (Серия «Head First O’Reilly»). ISBN 978-5-496-00867-9 В отличие от большинства книг по программированию, построенных на основе скучного изложения спец- ификаций и примеров, с этой книгой читатель сможет сразу приступить к написанию собственного кода на языке программирования C# с самого начала. Вы освоите минимальный набор инструментов, а далее примете участие в забавных и интересных программных проектах: от разработки карточной игры до создания серьезного бизнес- приложения. Второе издание книги включает последние версии C# 5.0, Visual Studio 2012 и .NET 4.5 Framework и будет интересно всем изучающим язык программирования С#. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O’Reilly в ряду множества скучных книг, посвященных программированию. 6+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.) ББК 32.973.2-018.1 УДК 004.43 Права на издание получены по соглашению с O’Reilly. Все права защищены. Никакая часть данной книги не может быть вос- произведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. ISBN 978-1449343507 англ. Authorized Russian translation of the English edition of Head First C#, 3rd Edition (ISBN 9781449343507) © 2013 Jennifer Greene, Andrew Stellman. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. ISBN 978-5-496-00867-9 © Перевод на русский язык ООО Издательство «Питер», 2014 © Издание на русском языке, оформление ООО Издательство «Питер», 2014 Эта книга посвящается киту Сладжи, который приплыл в Бруклин 17 апреля 2007 года Ты пробыл в нашем канале всего день, но навсегда останешься в наших сердцах авторы Спасибо, что купили нашу книгу! Мы писали ее с удовольствием …так как мы уверены, что и надеемся, что вы получите вы проведете много часов, кайф от ее прочтения… изучая C#. Эндрю Эндрю Стеллман родился в Нью-Йорке, Дженни но жил в Миннеаполисе, Женеве и Питтсбурге... два раза... — сначала в школе Карнеги-Меллона, а затем, когда они с Дженни основали консал- тинговую компанию и писали первую книгу для издательства О’Рейли. Первой его работой после колледжа стало про- граммное обеспечение для фирмы звукозаписи Автор этой фотографии EMI-Capitol Records, что вполне логично, ведь (как и снимка канала Гованус) — он учился в LaGuardia по классу виолончели и Ниша Сондхе джазовой басс-гитары. Сначала они с Дженни ра- ботали в компании по производству финансового Дженнифер Грин изучала в колледже фило- ПО на Уолл-стрит, где Эндрю руководил группой софию и, как и многие ее однокурсники, не смогла программистов. На протяжении многих лет он найти работу по специальности. Но благодаря был вице-президентом крупного инвестиционно- способностям к разработке программного обеспе- го банка, конструировал масштабные серверные чения она начала работать в онлайновой службе. системы, управлял большими международными В 1998 году Дженни переехала в Нью-Йорк и устро- командами разработчиков ПО и консультиро- илась в фирму по разработке финансового ПО. Она вал фирмы, школы и организации, в том числе управляла командами разработчиков, тестировши- Microsoft, национальное бюро экономических ков и программистов, занимавшихся разработкой исследований и массачусетский технологический ПО в медийной и финансовой областях. институт. За это время ему удалось поработать с замечательными программистами и многому от Затем она много путешествовала по миру с раз- них научиться. личными командами разработчиков и реализовала целый ряд замечательных проектов. В свободное время Эндрю создает бесполезные (но забавные) программы, играет музыку и в ком- Дженифер обожает путешествия, индийское кино, пьютерные игры, практикует тайцзицюань и ай- комиксы, компьютерные игры и огромную сибир- кидо и заботится о своем карликовом шпице. скую кошку. ДИгожхд уеп.н енВри в эаитя Э окнмнди ржгюае с—иозз ддAааpтюpетliлe ьdпс ртSоoвгfреt wавмыarмшeыл Pи иr oBпjeeиacшut уtMiтfua lnо T aрegаaeзmmраse бn(оt2т 0—к0е 9в п)ы ршио лгпрае арвмв аимязн дкаонтгиое голаб ьесссетпреивчеие ОнHи’eРяa еdсй 1лFи9ir 9sвt 8 2 Hг0оe0aд5аd. ВFгвурiес rтал2sмуt0е гмрP0иаMн 3ино Pо егв в оы(о 2двбсуо0ет йс0опну7ныпеи)ча .е венооти сВн ен оьдавел аткял ониуна чфмекноееырм. ехКпн,а цриниозиямуюхче а и юSп вtрщсeотlигlmхрр аaпемчnоасм хл& еир д аGскзтrнрeиваeгибn,яо e эт итCсчпаoио nкклsооuьвмlз tПопinвОааgн,н, и иаячяр т хооикоттабрызеыа кввртлааяеозютрращо бквиа оихтн сврыаеулвщкатоетвсиотьнд гвиоп твдрылоеяе-- лСе йн ипмрио емктожонво. познакомиться в блоге Building Better Software: http://www.stellman-greene.com И в Twitter @AndrewStellman и @JennyGreene оглавление Содержание (сводка) Введение 25 1 Начало работы с C#. Быстро сделать что-то классное! 37 2 Это всего лишь код. Под покровом 89 3 Объекты, по порядку стройся! Приемы программирования 137 4 Типы и ссылки. 10:00 утра. Куда подевались наши данные? 175 5 Инкапсуляция. Пусть личное остается... личным 219 6 Наследование. Генеалогическое древо объектов 259 7 Интерфейсы и абстрактные классы. Пусть классы держат обещания 313 8 Перечисления и коллекции. Большие объемы данных 369 9 Чтение и запись файлов. Прибереги последний байт для меня 425 10 Приложения для магазина Windows на языке XAML. Приложения следующего уровня 479 11 Async, await и сериализация контрактов данных. Позвольте вас прервать 527 12 Обработка исключений. Борьба с огнем надоедает 561 13 Капитан Великолепный. Смерть объекта 601 14 LINQ: Управляем данными 639 15 События и делегаты. Что делает ваш код, когда вы на него не смотрите 691 16 Проектирование с шаблоном MVM. Прекрасные изнутри и снаружи 735 17 Бонусный проект! Приложение Windows Phone 797 Содержание (настоящее) Введение Ваш мозг и C#. Вы учитесь — готовитесь к экзамену. Или пы- таетесь освоить сложную техническую тему. Ваш мозг хочет ока- зать вам услугу. Он старается сделать так, чтобы на эту очевидно несущественную информацию не тратились драгоценные ресурсы. Их лучше потратить на что-нибудь важное. Так как же заставить его изучить C#? Для кого написана эта книга 26 Мы знаем, о чем вы думаете 27 Метапознание: наука о мышлении 29 Заставьте свой мозг повиноваться 31 Что вам потребуется 32 Научные редакторы 34 Благодарности 35 7 оглавление начало работы с C# 1 Быстро сделать что-то классное! Хотите программировать действительно быстро? C# — это мощный язык программирования. Благодаря Visual Studio вам не потребуется писать непонятный код, чтобы заставить кнопку работать. Вместо того чтобы запоминать параметры метода для имени и для ярлыка кнопки, вы сможете сфокусироваться на достижении результата. Звучит заманчиво? Тогда переверните страницу и при- ступим к делу. Зачем вам изучать C# 38 C#, IDE Visual Studio многое упрощает 39 Это вы делаете в Visual Studio 40 А это Visual Studio делает за вас 40 Инопланетяне атакуют! 44 Только ты можешь спасти Землю 45 Вот что вам нужно сделать 46 Начнем с пустого приложения 48 Настройка сетки 54 Добавим к сетке элементы управления 56 Меняем вид элементов управления 58 Элементы управления игрой 60 О нет! Инопланетяне Игровое поле готово 65 крадут людей. Какой Что дальше? 66 кошмар! Добавляем метод, который что-то делает 67 Пишем код метода 68 Завершение метода и запуск программы 70 Управляющие игрой таймеры 74 Активация кнопки Start 76 Взаимодействие с игроком 78 Соприкосновение людей с врагами означает конец игры 80 В игру уже можно играть 81 Превратим врагов в пришельцев 82 Добавим заставку и значок приложения 83 ?! Публикация приложения 84 Загрузка через удаленный отладчик 85 Удаленная отладка 86 8 оглавление это всего лишь код 2 Под покровом Вы — программист, а не просто пользователь IDE. IDE может сделать за вас многое, но не всё. При написании приложений часто приходится решать повторяющиеся задачи. Пусть эту работу вы- полняет IDE. Вы же будете в это время думать над более глобальными вещами. Научившись писать код, вы получите возможность решить лю- бую задачу. Когда вы делаете это... 90 ...IDE делает это. 91 Как рождаются программы 92 Писать код помогает IDE 94 Структура программы 96 Классы могут принадлежать одному пространству имен 101 Что такое переменные 102 Знакомые математические символы 104 Наблюдение за переменными в процессе отладки 105 Циклы 107 Оператор выбора 108 Приложение с нуля 109 Пусть каждая кнопка что-то делает 111 Проверка условий 112 Приложения для рабочего стола Windows 123 Перестроим приложение для рабочего стола Windows 124 Начало работы программы 128 FодДrтеaллдmяяе еклeтаwяжяеo дrксоkвой оди е п о Wптрроi nогкрdслтаoамwсрсмsао нSывс t т.oвNыrвEe оT о Aп иPрмIе.е-н, ЛРеюдбаыктеи дреойвсатнвииея твоечдкути кв хиоздмае нению кода 113302 Пространство имен Класс содержит фраг- мент вашей программы г(орчаемнмь ым амлоегнуьтки ес опсртоо-ять Класс из всего одного класса). Метод 1 оператор оператор Класс включает один или внсеесгкдоал ьпкрои нмаедтлеождоавт. Мкаеткоо-ды Метод 2 му-либо классу. Методы, оператор в свою очередь, состоят оператор из операторов. 9 оглавление объекты, по порядку стройся! 3 Приемы программирования Каждая программа решает какую-либо проблему. Перед на- писанием программы нужно четко сформулировать, какую задачу она будет решать. Именно поэтому так полезны объекты. Ведь они позволяют структу- рировать код наиболее удобным образом. Вы же можете сосредоточиться на обдумывании путей решения, так как вам не нужно тратить время на написание кода. Правильное использование объектов позволяет получить интуитивно понятный код, который при необходимости можно легко отредактировать. Что думает Майк о своих проблемах 138 Проблема Майка с точки зрения навигационной системы 139 Методы прокладки и редактирования маршрутов 140 Программа с использованием классов 141 Идея Майка 143 SetCurrenNtLoacvaitgioant()or nnew Navigator() ОВобзъьемкитыте к калка сспс оис пооб сртершоейнтие яо бпъреокбтл емы 114445 SetDestination() Экземпляры 146 ModifyRouteToAvoid() ModifyRouteToInclude() new Navigator() Простое решение! 147 GetRoute() GToetatTlDimisetaTonDcee(s)tination() nneeww Navigator() ССпозадсаиебмо эзказ пеаммпялтяьр ы! 115534 Что происходит в памяти программы 155 Выбор структуры класса при помощи диаграммы 160 Форма для взаимодействия с кодом 166 Более простые способы присвоения начальных значений 169 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.