Тази книга дава важни знания за особеностите на езика C# и съдържа примери за тяхното практическо използване. Застъпени са широк спектър от теми, свързани с най-актуалните и перспективни механизми на езика:
- абстрактни класове, начини за създаване и използване на интерфейси;
- работа с указатели; колекции и изброявания;
- полезни механизми, свързани с използването на делегати, събития, анонимни методи и ламбда-изрази;
- създаване на приложения с графичен интерфейс;
- прихващане и обработката на изключения;
- многонишково програмиране и начини за създаване на многонишкови приложения;
- създаване на прегледни и ефективни програмни кодове чрез шаблонни типове;
- специално внимание е отделено на работата със структури; колекции и операции с файлове.
Всяка глава съдържа примери за решаване на различни задачи и завършва с кратко резюме, в което се отделят основните и най-важни моменти, обсъждани в нея. След това са поместени задачи за самостоятелна работа, с които се затвърдява наученото.
За да може да усвои пълноценно материала изложен в книгата, читателят трябва да има начални познания по C#.
Като среда за разработка при създаването на примерите е използвано приложението Microsoft Visual Studio Express. Всички примери са щателно тествани, а кодът към тях е предоставен за безплатно сваляне.
C# - разширени възможности
Съдържание
Въведение
Разширени възможности на C#…6
За какво ще стане дума…6
Необходими навици и ресурси…7
Обратна връзка с автора…8
Глава 1. Абстрактни класове и интерфейси…9
Запознаване с абстрактните класове…9
Използване на абстрактни класове…13
Запознаване с интерфейсите…24
Наследяване на интерфейси…35
Интерфейсни променливи…39
Явна имплементация на членове на интерфейса…44
Резюме…52
Задачи за самостоятелна работа…54
Глава 2. Делегати и събития…58
Запознаване с делегати…58
Многократна адресация…67
Използване на делегати…72
Запознаване с анонимни методи…86
Използване на анонимни методи…92
Ламбда-изрази…101
Запознаване със събития…109
Резюме…122
Задачи за самостоятелна работа…125
Глава 3. Изброявания и структури…130
Запознаване с изброявания…130
Запознаване със структури…137
Масив като поле на структура…145
Масив от екземпляри на структура…148
Структури и метод ToString()…149
Свойства и индексатори в структури…152
Екземпляр на структура като аргумент на метод…155
Екземпляр на структура като резултат от метод…160
Операторни методи в структури…163
Структури и събития…165
Структури и интерфейси…169
Резюме…173
Задачи за самостоятелна работа…175
Глава 4. Указатели…178
Запознаване с указатели…178
Адресна аритметика…191
Указатели към екземпляр на структура…206
Инструкцията fixed…209
Указатели и масиви…212
Указатели и текст…215
Многослойна адресация…218
Масив от указатели…220
Резюме…224
Задачи за самостоятелна работа…225
Глава 5. Обработка на изключения…228
Принципи на обработката на изключения…228
Използване на конструкцията try catch…230
Основни класове изключения…236
Използване на няколко catch блока…241
Вложени конструкции
try catch и блокът finally…244
Генериране на изключения…253
Собствени класове на изключения…256
Инструкциите checked и unchecked…258
Използване на изключения…261
Резюме…273
Задачи за самостоятелна работа…275
Глава 6. Многонишково програмиране…278
Класът Thread и създаване на нишки…278
Използване на нишки…284
Фонови нишки…294
Операции с нишки…296
Синхронизация на нишките…301
Използване на нишки…308
Резюме…321
Задачи за самостоятелна работа…322
Глава 7. Шаблонни типове…325
Предаване на тип данни като параметър…325
Шаблонни методи…328
Шаблонни класове…343
Шаблонни структури…348
Шаблонни интерфейси…350
Шаблонни класове и наследяване…354
Шаблонни делегати…357
Ограничения на параметрите за типа…359
Резюме…373
Задачи за самостоятелна работа…374
Глава 8. Приложения с графичен интерфейс…377
Принципи за създаване на графичен интерфейс…377
Създаване на празен прозорец…381
Прозорец и обработката на събития…388
Бутони и етикети…394
Използване на списъци…401
Използване на превключватели…414
Поле за отметка и поле за въвеждане…422
Меню и панел с инструменти…434
Контекстно меню…442
Координати на курсора на мишката…452
Резюме…458
Задачи за самостоятелна работа…459
Глава 9. Накратко за още някои важни неща…461
Работа с диалогов прозорец…461
Използване на пространство от имена…465
Работа с дата и време…471
Работа с файлове…481
Запознаване с колекции…495
Резюме…506
Задачи за самостоятелна работа…508
Заключение
Изводи и перспективи…510