Домой C# C# 2008. Самоучитель: Справочник по C#

C# 2008. Самоучитель: Справочник по C#

713
0


Название: C# 2008. Самоучитель                                                                 
Автор: Кристиан Гросс
Издательство: БХВ-Петербург
Год: 2009
Формат: pdf
ISBN: 978-5-9775-0287-0
Язык: Русский
Размер: 6.80 МБ


      Материал книги излагается последовательно на примере решения различных типичных проблем, с которыми сталкиваются программисты. Описаны типы данных языка С#, их достоинства, недостатки и особенности применения. Рассмотрены операторы языка, основы объектно-ориентированного, компонентно-ориентированного и функционального программирования. Показаны особенности обработки строк и исключений, а также многопоточная обработка информации. Описаны принципы хранения данных, конфигурационные файлы приложения, динамическое выполнение кода.

Содержание:

  • Об авторе 3
  • О техническом рецензенте 5
  • Введение 7

Глава 1. На старт, внимание, марш! 9

  • Скачивание и установка инструментов 9
  • Скачивание Visual C# Express 10
  • Установка Visual C# Express 11
  • Выбор типа приложения 12
  • Создание проектов и решений 12
  • Создание приложения Windows 13
  • Просмотр исходного кода 14
  • Переименование решения 15
  • Сохранение решения 15
  • Выполнение приложения Windows 16
  • Заставляем приложение сказать «Hello» 17
  • Вставка в приложение комментариев 20
  • Перемещение по пользовательским элементам управления решения 22
  • Создание консольного приложения 25
  • Добавление консольного приложения в решение 25
  • Заставляем консольное приложение сказать «Hello» 26
  • Установка стартового проекта 26
  • Запуск консольного проекта на выполнение 27
  • Создание библиотеки класса 27
  • Добавление библиотеки класса в решение 27
  • Перемещение функциональности 28
  • Определение ссылок 29
  • Вызов функциональности библиотеки класса 29
  • Использование переменных и констант 31
  • Как работает .NET Framework? 34
  • Советы разработчику 37
  • Вопросы и задания для самопроверки 37

Глава 2. Типы данных в .NET 39

  • Постановка задачи и организация процесса разработки 39
  • Организация разработки программы Калькулятор 40
  • Конкретизация процесса разработки программы Калькулятор 42
  • Реализация библиотеки класса 45
  • Метод Add() 47
  • Код для тестирования метода Add() 50
  • Проблемы с числами 55
  • Типы данных 58
  • Обычные и ссылочные типы данных 58
  • Типы числовых данных среды CLR 60
  • Завершение разработки Калькулятора 64
  • Советы разработчику 65
  • Вопросы и задания для самопроверки 66

Глава 3. Работа со строками 67

  • Организация приложения перевода 67
  • Создание приложения перевода 68
  • Создание класса Translator 69
  • Перевод слова «hello» 69
  • Создание тестового приложения 70
  • Вопрос разумного использования 71
  • Исследование строкового типа 72
  • Решение проблемы пробельных символов 78
  • Заключение строк в кавычки 83
  • Кодовые таблицы символов 84
  • Языки и региональные стандарты 85
  • Установка региональных стандартов и языка в Windows 86
  • Анализ и обработка чисел 87
  • Культурная среда 90
  • Советы разработчику 92
  • Вопросы и задания для самопроверки 93

Глава 4. Структуры данных, принятие решений и циклы 95

  • Алгоритм поиска в глубину 95
  • Реализация пользовательских типов 99
  • Объявление структур и классов 99
  • Ограничения обычных типов 100
  • Организация алгоритма поиска 106
  • Код для алгоритма поиска в глубину 108
  • Определение и реализация структуры данных 108
  • Определение теста для алгоритма 120
  • Реализация алгоритма поиска в глубину 125
  • Выполнение алгоритма поиска в глубину 133
  • Советы разработчику 135
  • Вопросы и задания для самопроверки 136

Глава 5. Обработка исключений в С# 137

  • Ошибки, исключения и обработка исключений 138
  • Работа с отладчиком 139
  • Обработка исключений 140
  • Перехват исключений 140
  • Реализация обработчиков исключений 143
  • Предотвращение раскрутки стека 147
  • Фильтрация исключений 151
  • Код, не вызывающий исключений 154
  • Защитный код 154
  • Использование состояния по умолчанию 157
  • Обработка некритических ошибок 158
  • Советы разработчику 159
  • Вопросы и задания для самопроверки 160

Глава 6. Основы объектно-ориентированного программирования 161

  • Что такое спрэд? 162
  • Организация приложения для обмена валют 163
  • Тесты для приложения обмена валют 164
  • Введение в структурный код 164
  • Базовые классы 165
  • Что такое наследование? 166
  • Использование свойств C# 168
  • Наследование и модификаторы области видимости 172
  • Верификация 176
  • Завершение создания базового класса 179
  • Модули коммерческого валютного маклера и обменного пункта отеля 180
  • Реализация класса ActiveCurrencyTrader 180
  • Реализация класса HotelCurrencyTrader 183
  • Дополнительные сведения о директивах препроцессора, свойствах и абстрактных методах 186
  • Директивы препроцессора 186
  • Область видимости 188
  • Ключевое слово abstract 188
  • Советы разработчику 190
  • Вопросы и задания для самопроверки 192

Глава 7. Компоненты и иерархии объектов 193

  • Введение в основы налогообложения 193
  • Организация приложения для вычисления налогов 194
  • Программирование с использованием идей 195
  • Представление идей с помощью интерфейсов C# 196
  • Принципы работы наследования и компонентов 199
  • Реализация движка для вычисления налогов 206
  • Определение интерфейсов 206
  • Реализация движка базового класса для вычисления налогов 207
  • Стандартные реализации 213
  • Реализация базового налогового счета 215
  • Использование базовой функциональности движка для вычисления налогов 216
  • Реализация налогового движка и налогового счета 217
  • Применение налогового движка 222
  • Дополнительные сведения о наследовании и приведении типов 222
  • Наследование 223
  • Приведение типов 229
  • Советы разработчику 230
  • Вопросы и задания для самопроверки 231

Глава 8. Компонентно-ориентированная архитектура 233

  • Понятие ядра 233
  • Организация приложения управления освещением 235
  • Создание ядра 236
  • Определение интерфейсов 237
  • Реализация ядра 241
  • Определение ядра в виде интерфейса, а не класса 261
  • Создание полного приложения 263
  • Определение комнат 263
  • Создание экземпляров классов PublicRoom и PrivateRoom 264
  • Частные классы и инициализация объектов 266
  • Частные классы 266
  • Инициализация объектов вложенными типами данных 267
  • Советы разработчику 268
  • Вопросы и задания для самопроверки 269

Глава 9. Списки, делегаты и лямбда-выражения 271

  • Управление коллекциями 271
  • Управление коллекциями до C# 2.0 272
  • Управление коллекциями в C# 2.0 и последующих версиях 277
  • Верен ли код? 278
  • Делегаты 282
  • Анонимные методы 287
  • Групповое использование делегатов 289
  • Лямбда-выражения 289
  • Применение лямбда-выражений 292
  • Создание алгоритма 293
  • Реализация алгоритма с помощью лямбда-выражения 293
  • Дополнительные сведения о типах коллекций 295
  • Простой список 295
  • Список пар «ключ/значение» 296
  • Тип Stack 297
  • Тип Queue 298
  • Советы разработчику 298
  • Вопросы и задания для самопроверки 299

Глава 10. Хранение данных 301

  • Организация системы предсказания результатов лотереи 301
  • Канальная пересылка данных с помощью консоли 302
  • Считывание данных с консоли 303
  • Создание оболочки 304
  • Реализация приложения TextProcessor 315
  • Пересылка двоичных данных 324
  • Определение интерфейсов и реализация оболочки 326
  • Определение типа 329
  • Преобразование текстового потока в двоичный 331
  • Преобразование двоичного потока в текстовый поток 332
  • Тонкая настройка сериализации 334
  • Специальная сериализация 334
  • Объявление члена данных не подлежащим сериализации 336
  • Отделение объектов данных от объектов действия 336
  • Завершение создания пользовательского типа 337
  • Реализация метода GetHashCode() 337
  • Реализация метода Equals() 340
  • Советы разработчику 342
  • Вопросы и задания для самопроверки 343

Глава 11. Обобщения .NET 345

  • Зачем использовать обобщения .NET? 345
  • Теория в основе серверной электронной таблицы 349
  • Разработка серверной электронной таблицы 352
  • Проектирование архитектуры 353
  • Определение интерфейсов серверной электронной таблицы 354
  • Реализация серверной электронной таблицы 363
  • Использование лямбда-выражений в электронной таблице 370
  • Присваивание состояния при неизвестном типе 374
  • Подмена функциональности метода ToString() 376
  • Обработка данных в цикле с помощью перечисления 377
  • Работа с электронной таблицей 379
  • Вычисление среднего значения 379
  • Объяснение работы вычислений 381
  • Советы разработчику 382
  • Вопросы и задания для самопроверки 383

Глава 12. Конфигурирование приложений и динамическая загрузка 385

  • Соглашение превыше конфигурации 385
  • Использование архитектуры конфигурирования для выполнения развязки 387
  • Использование стандартной архитектуры для развязки 387
  • Организация проектов динамической загрузки 388
  • Подписывание сборки 390
  • Указание пути вывода 391
  • Определение и обработка конфигурационного файла 392
  • Создание конфигурационного XML-файла 393
  • Добавление элементов конфигурации динамической загрузки 394
  • Считывание конфигурационного файла 395
  • Динамическая загрузка сборки 396
  • Динамическое создание экземпляра типа 396
  • Усовершенствование конфигурационного файла 401
  • Загрузка сборок со строгими именами 406
  • Перемещение сборки со строгим именем в кэш GAC 408
  • Использование номеров версий 410
  • Реализация стандартной архитектуры 413
  • Динамическая загрузка базового класса или типов интерфейса 416
  • Советы разработчику 417
  • Вопросы и задания для самопроверки 418

Глава 13. Многопоточная обработка 419

  • Понимание многозадачности 420
  • Вытесняющая многозадачность 420
  • Квантование времени 421
  • Использование потоков 423
  • Создание нового потока 424
  • Ожидание завершения исполняющегося потока 425
  • Создание потока, имеющего состояние 426
  • Синхронизация потоков 428
  • Как избежать взаимоблокировок 435
  • Реализация потоковой архитектуры «читатель/писатель» 440
  • Реализация архитектуры «поставщик/потребитель» 444
  • Скрытая реализация «поставщик/потребитель» 445
  • Реализация общей архитектуры «поставщик/потребитель» 446
  • Асинхронный подход 449
  • Советы разработчику 451
  • Вопросы и задания для самопроверки 452

Глава 14. Реляционные базы данных 453

  • Организация реляционных баз данных 453
  • Таблицы реляционных баз данных 454
  • Отношения баз данных 455
  • Обращение к реляционной базе данных 459
  • Разработка базы данных с помощью Visual C# Express 461
  • Конфигурирование источника данных 461
  • Добавление таблиц 464
  • Обращение к базе данных с помощью ADO.NET 468
  • Подключение к базе данных 469
  • Добавление данных в таблицу 469
  • Выборка данных из таблицы 472
  • Удаление записей из базы данных 472
  • Закрытие подключения к базе данных 473
  • Выводы об использовании ADO.NET 473
  • Dataset Designer 474
  • Создание отношений между таблицами 474
  • Использование сгенерированного кода 479
  • Советы разработчику 480
  • Вопросы и задания для самопроверки 481

Глава 15. Знакомство с LINQ 483

  • Определение частоты выпадения выигрышных номеров 483
  • Расширение системы предсказания результатов лотереи 485
  • Реализация решения подсчета частоты вхождения номеров 488
  • Дополнительные приемы LINQ 495
  • Выборка и изменение данных 499
  • Выборка посредством анонимных типов 500
  • Обработка нескольких потоков 502
  • Сортировка результатов 502
  • Разбивка результатов на группы 503
  • Операции над множествами 505
  • Использование LINQ в других контекстах 507
  • Советы разработчику 509
  • Вопросы и задания для самопроверки 509

Глава 16. Написание функционального кода на языке C# 511

  • Зачем использовать функциональное программирование? 511
  • Суть функционального программирования 514
  • Функции высшего порядка 514
  • Чистые функции 518
  • Вычисление функций 524
  • Рекурсия 527
  • Советы разработчику 528
  • Вопросы и задания для самопроверки 529

Глава 17. Другие методики C# 531

  • Операторы 531
  • Арифметические операторы 531
  • Перегрузка операторов 536
  • Оператор goto 539
  • Ограничения обобщений .NET 540
  • Ограничение type 540
  • Ограничение new 542
  • Ограничение class 543
  • Нулевые типы 543
  • Частичные классы и методы 545
  • Советы разработчику 547
  • Вопросы и задания для самопроверки 548
  • Предметный указатель 549

Ссылка для скачивания книги: «Удалено по просьбе правообладателя»

C# 2008. Самоучитель: Справочник по C#

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Бутик Risk - наизнанку или интерьер вверх дном

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь