Содержание книги "С# 4.0 на примерах"
Big-Pig копилочка интересной и полезной информации

Поиск

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Содержание книги "С# 4.0 на примерах"


Бен Ватсон

С# 4.0 на примерах (2011)



ОГЛАВЛЕНИЕ

Об авторе ..2
Благодарности ..3
Введение ..5
Краткий обзор книги
Как извлечь максимум пользы из этой книги
Как углубить и расширить свои знания
ЧАСТЬ I. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ С# ..9

Глава 1. Основы работы с типами ..11
Создание класса
Определение полей, свойств и методов
Определение статических членов
Написание конструктора
Инициализация свойств при конструировании
Применение модификаторов const и readonly
Повторное использование кода в нескольких конструкторах
Создание производного класса
Вызов конструктора базового класса
Переопределение метода или свойства базового класса
Создание интерфейса
Реализация интерфейсов
Создание структуры
Создание анонимного типа
Предотвращение создания экземпляра с помощью абстрактного класса
Интерфейс или абстрактный базовый класс?
Глава 2. Создание типов с разносторонней функциональностью ..27
Форматирование типа методом ToString()
Создание типов, допускающих выяснение равенства
Создание типов, хешируемых методом GetHashCode()
Создание сортируемых типов
Создание индекса у типов
Уведомление клиентов об изменении состояния объекта
Перегрузка операций
Преобразование одного типа в другой
Предотвращение наследования
Разрешение типу значения принимать значение null
Глава 3. Общие принципы кодирования ..42
Объявление переменных
Откладывание проверки типов до этапа выполнения (динамические типы)
Применение динамической типизации для упрощения взаимодействия с COM
Объявление массивов
Создание многомерных массивов
Создание псевдонима для пространства имен
Применение условной операции (?:)
Применение операции проверки на null (??)
Добавление методов в существующие типы с использованием методов расширения
Вызов методов с параметрами по умолчанию
Вызов методов с именованными параметрами
Откладывание вычисления значения до момента обращения к нему
Создание контрактов кода
Глава 4. Исключения ..57
Возбуждение исключения
Обработка исключения
Обработка нескольких исключений
Повторное возбуждение исключения
Практически гарантированное выполнение кода с использованием блока finally
Получение информации от исключения
Создание собственного исключения
Перехват необработанных исключений
Советы по работе с исключениями
Глава 5. Числа ..70
Выбор между типами float, double и decimal
Работа с очень большими числами (тип BigInteger)
Работа с комплексными числами
Форматирование числа в строку
Преобразование строки в число
Преобразование числа из одной системы счисления в другую
Преобразование числа в байты (и обратно)
Выяснение четности числа
Выяснение, является ли число степенью двойки
Выяснение, является ли число простым
Подсчет количества установленных битов
Пересчет градусов в радианы
Округление
Генерирование "хороших" случайных чисел
Генерирование уникальных идентификационных номеров (GUID)
Глава 6. Перечисления ..90
Объявление перечисления
Объявление флагов в виде перечисления
Выяснение, установлен ли флаг
Преобразование перечисления в целое (и обратно)
Проверка допустимости значений перечисления
Получение списка значений перечисления
Преобразование строки в перечисление
Добавление метаданных к перечислению с помощью методов расширения
Советы по использованию перечислений
Глава 7. Строки ..97
Преобразование строки в байтовое представление (и обратно)
Создание собственной схемы кодирования
Корректное сравнение строк
Корректная смена регистра
Распознавание пустых строк
Конкатенация строк: обязательно ли использовать класс StringBuilder
Конкатенация элементов коллекции в одну строку
Добавление символа новой строчки
Разбивка строки
Преобразование двоичных данных в строку (кодировка base-64)
Изменение порядка слов на обратный
Естественная сортировка строк
Глава 8. Регулярные выражения ..116
Поиск в тексте
Извлечение фрагментов текста
Замена фрагмента текста
Проверка допустимости
Повышение производительности регулярных выражений
Глава 9. Универсальные типы ..121
Создание универсального списка
Создание универсального метода
Создание универсального интерфейса
Создание универсального класса
Создание универсального делегата
Работа с несколькими универсальными типами
Накладывание ограничений на универсальный тип
Преобразование IEnumerable<string> в IEnumerable<object> (ковариантность)
Преобразование IComparer<Child> в IComparer<Parent> (контравариантность)
Создание кортежей (пар, троек и т.д.)
ЧАСТЬ II. ОБРАБОТКА ДАННЫХ ..133

Глава 10. Коллекции ..135
Выбор подходящего класса-коллекции
Инициализация коллекции
Перебор элементов коллекции без привязки к ее реализации
Создание собственной коллекции
Создание собственных итераторов для коллекции
Изменение порядка элементов массива на обратный
Изменение порядка элементов связного списка на обратный
Извлечение уникальных элементов из коллекции
Подсчет количества вхождений элемента
Реализация очереди с приоритетами
Создание префиксного дерева
Глава 11. Файлы и сериализация ..156
Создание, чтение и запись файла
Удаление файла
Комбинирование потоков данных (сжатие файла)
Выяснение размера файла
Получение информации, связанной с безопасностью
Проверка существования файла и каталога
Список дисков
Список каталогов и файлов
Обзор каталогов
Поиск файла или каталога
Манипуляции с путями к файлам
Создание уникальных или временных имен для файлов
Отслеживание изменений в файловой системе
Получение пути к каталогам My Documents, My Pictures и т.д.
Сериализация объектов
Сериализация в буфер в памяти
Хранение данных приложения, имеющего ограниченные права
Глава 12. Работа в сетях и во Всемирной паутине ..177
Определение IP-адреса по имени хоста
Выяснение имени хоста и IP-адреса у данного компьютера
"Пингование" компьютера
Выяснение информации о сетевой карте
Создание сервера и клиента на базе TCP/IP
Отправка электронного письма по протоколу SMTP
Загрузка содержимого веб-страницы по протоколу HTTP
Выгрузка файла по протоколу FTP
Удаление тегов из HTML-кода
Встраивание веб-браузера в приложение
Прием RSS-ленты новостей
Динамическое генерирование RSS-ленты новостей в IIS
Взаимодействие между процессами на одном компьютере (WCF)
Взаимодействие между двумя компьютерами в одной сети (WCF)
Взаимодействие через Интернет (WCF)
Обнаружение служб на этапе выполнения (WCF)
Глава 13. Базы данных ..210
Создание базы данных в Visual Studio
Соединение с базой и чтение данных
Добавление данных в таблицу
Удаление данных из таблицы
Выполнение хранимой процедуры
Транзакции
Связывание данных с элементом управления при помощи класса DataSet
Выяснение доступности соединения с базой данных
Автоматическое отображение данных на объекты с помощью платформы Entity Framework
Глава 14. Язык XML ..234
Сериализация объекта в XML и десериализация его
Создание XML-документа "с нуля"
Чтение XML-файла
Проверка корректности XML-документа
Выдача запроса к XML-документу с помощью XPath
Преобразование информации из базы данных в XML-документ
Преобразование XML-документа в HTML-документ
ЧАСТЬ III. Взаимодействие с пользователем ..249

Глава 15. Делегаты, события и анонимные методы ..251
Динамический вызов метода
Подписка на событие
Публикация события
Гарантия обновления пользовательского интерфейса в потоке пользовательского интерфейса
Присваивание анонимного метода делегату
Использование анонимных методов в качестве простых обработчиков событий
Использование преимуществ контравариантности
Глава 16. Технология Windows Forms ..264
Создание модальных и немодальных форм
Добавление строки меню
Динамический перевод пунктов меню в неактивное состояние
Добавление строки состояния
Добавление панели инструментов
Создание интерфейса, включающего в себя подокно
Наследование формы
Создание собственного элемента управления
Применение таймера
Использование общих и пользовательских настроек конфигурации
Эффективное использование элемента ListView в виртуальном режиме
Наклон колесика мыши для горизонтальной прокрутки
Реализация Cut и Paste
Автоматический сброс индикатора ожидания
Глава 17. Графика с применением Windows Forms и GDI+ ..296
Определение цвета
Использование системного элемента управления для выбора цвета
Преобразование цветов между системами RGB и HSV
Рисование фигур
Создание перьев
Создание кистей с произвольными характеристиками
Преобразования
Рисование текста
Расположение текста по диагонали
Вывод изображений
Вывод прозрачных изображений
Рисование в буфере
Прямое обращение к пикселам для повышения эффективности
Рисование со сглаживанием
Перерисовка без мерцания
Изменение размеров изображения
Создание миниатюры
Захват многоэкранного изображения
Вычисление расстояния от указателя мыши до заданной точки
Выяснение местоположения точки относительно прямоугольника
Выяснение местоположения точки относительно круга
Выяснение местоположения точки относительно эллипса
Выяснение факта пересечения двух прямоугольников
Печать и предварительный просмотр
Глава 18. WPF ..328
Открытие окна
Выбор компоновки интерфейса
Добавление строки меню
Добавление строки состояния
Добавление панели инструментов
Использование стандартных команд
Использование нестандартных команд
Перевод команд из неактивного состояния в активное и обратно
Сворачивание и разворачивание группы элементов управления
Реагирование на события
Отделение внешнего вида от функциональности
Применение триггеров для смены стилей на этапе выполнения
Связывание свойств элемента управления с другим объектом
Форматирование значений при связывании данных
Преобразование типов значений при связывании данных
Связывание с коллекцией
Контроль за представлением связанных данных
Определение внешнего вида элементов управления с помощью шаблонов
Анимирование свойств элементов
Отображение трехмерной графики
Размещение видео на поверхности трехмерной фигуры
Размещение интерактивных элементов управления на поверхности трехмерной фигуры
Применение WPF в приложении WinForms
Применение WinForms в WPF-приложении
Глава 19. ASP.NET ..364
Просмотр отладочной и трассировочной информации
Выяснение возможностей браузера
Перенаправление на другую страницу
Аутентификация с помощью формы для входа пользователя в систему
Использование главных страниц для достижения единства оформления
Добавление меню
Связывание данных с элементом управления GridView
Создание пользовательского элемента управления
Создание гибкого пользовательского интерфейса с элементами Web Parts
Создание простой страницы с использованием технологии AJAX
Проверка допустимости данных
Поддержание состояния приложения
Поддержание состояния пользовательского интерфейса
Поддержание пользовательских данных на протяжении сеанса
Сохранение состояния сеанса
Восстановление состояния сеанса с помощью cookie
Использование надстройки MVC над ASP.NET
Глава 20. Silverlight ..404
Создание проекта Silverlight
Воспроизведение видео
Создание индикатора загрузки и воспроизведения
Реакция пользовательского интерфейса на события таймера
Создание трехмерной перспективы для содержимого страницы
Выполнение приложения за пределами браузера
Захват изображения с веб-камеры
Распечатка документа
ЧАСТЬ IV. Более сложные элементы языка C# ..419

Глава 21. LINQ ..421
Запрос к коллекции объектов
Упорядочивание результатов
Фильтрование коллекции
Получение коллекции на основе отдельных полей объектов (проекция)
Выполнение объединения
Запрос к XML-документу
Создание XML-документа
Запрос к Entity Framework
Запрос к веб-службе (LINQ to Bing)
Ускорение запросов с помощью PLINQ (Parallel LINQ)
Глава 22. Управление памятью ..432
Измерение объема памяти, нужного приложению
Освобождение неуправляемых ресурсов с помощью финализации
Освобождение управляемых ресурсов с помощью шаблона Dispose
Принудительная сборка мусора
Создание кэша, позволяющего выполнять сборку мусора
Работа с указателями
Ускорение доступа к массивам
Предотвращение перемещения объектов в памяти
Выделение неуправляемой памяти
Глава 23. Потоки выполнения. Асинхронное и параллельное программирование ..448
Распределение работы между несколькими процессорами
Использование структур данных в разных потоках выполнения
Асинхронный вызов метода
Работа с пулом потоков выполнения
Создание потока выполнения
Обмен данными с потоком выполнения
Защита данных, используемых в нескольких потоках выполнения
Применение методов класса Interlocked вместо блокировок
Защита данных в нескольких процессах
Ограничение количества экземпляров приложения до одного
Ограничение количества потоков выполнения, обращающихся к ресурсу
Отправка сигналов потокам выполнения с помощью механизма событий
Использование многопотокового таймера
Использование блокировки чтения/записи
Применение асинхронной модели программирования
Глава 24. Применение отражения и создание добавляемых модулей ..474
Перечисление типов в сборке
Добавление нестандартного атрибута
Динамическое создание экземпляра класса
Вызов метода динамически созданного экземпляра класса
Реализация архитектуры с добавляемыми модулями
Глава 25. Шаблоны приложений и полезные советы по проектированию ..483
Применение секундомера для профилирования кода
Пометка устаревшего кода
Объединение нескольких событий в одно
Реализация шаблона с наблюдателем (подписчиком)
Использование брокера событий
Запоминание местоположения на экране
Реализация отмены с помощью командных объектов
Применение модели Model-View-ViewModel в технологии WPF
Локализация
Локализация приложения Windows Forms
Локализация приложения ASP.NET
Локализация WPF-приложения
Локализация Silverlight-приложения
Развертывание приложений с использованием ClickOnce
Глава 26. Взаимодействие с операционной системой и аппаратной частью ..527
Получение информации об операционной системе, пакете обновления и версии CLR
Получение информации о ЦПУ и других аппаратных средствах
Вызов UАС для запрашивания прав администратора
Запись в журнал событий
Обращение к Реестру
Управление службами Windows
Создание службы Windows
Вызов низкоуровневых функций Windows с помощью P/Invoke
Вызов библиотечных функций, написанных на языке C, из кода на языке C#
Работа с файлами, отображенными в память
Обеспечение работы приложения в 32-битовом и 64-битовом окружении
Реагирование на изменение системной конфигурации
Использование некоторых возможностей Windows 7
Получение информации о режиме питания
Глава 27. Полезные мелочи ..547
Создание непрямоугольного окна
Создание информационной пиктограммы
Создание хранителя экрана в WPF
Вывод заставки
Воспроизведение звукового файла
Перетасовка карт
Приложение. Необходимые инструменты ..571
Утилита Reflector
Среда NUnit
Программа NDepend
Программа FXCop
Виртуальная машина
Утилиты Process Explorer и Process Monitor
Программа RegexBuddy
Приложение LINQPad
Поиск инструментальных средств
Предметный указатель




Перейти на страницу скачивания книги: Ватсон Б. - С# 4.0 на примерах


Форма входа

Облако тегов

сказки кулинария Рыбалка бисер родители малышам аудиокниги аудиосказки html Веб дизайн Web дизайн сайтостроение css беременность и роды Вязание Детям скачать воспитание детей проза журналы техника аудиокнига AVI мультфильмы приключения

Книги

Абрамова Л.П.Бyшки-бapaшки. Пaльчикoвыe игpы (1-3 года)
Скачать

Популярное

• Флеш-открытки с Днем рождения. Коллекция 
• Торговые советники FOREX (торговые роботы) 
• Мамины сказки: Доброта. Как воспитать ребенка добрым 
• Сказки дядюшки Римуса (аудиокнига, mp3) 
• Macromedia Flash Professional 8 на примерах (2006) 
• Флеш-открытки к женскому дню 8 Марта. Коллекция 
• Коллекция флеш-открыток о любви 
• Мамины сказки: Ваш ребенок - лидер. Как воспитать ребенка лидером 
• Мамины сказки: Антикапризин. Сказки для исцеления от капризов 
• Восточные сладости (2002) 
• Флеш-открытки. Новый год и Рождество. Большая коллекция 
• Macromedia Flash 8 для начинающих (видео-курс) 
• Азбука вежливости (1984) 
• Следы зверей и птиц. Энциклопедический справочник-определитель (2007) 
• Вниз по волшебной реке (1992)