Платформата .NET на Microsoft® е една от най-перспективните към днешна дата. С нейна помощ могат да се разработват различни приложения – от най-простите конзолни, през десктоп приложения, чак до сложни разпределени мрежови приложения.
Тази книга ще ви запознае с основите на езика C#, с обектно-ориентираното програмиране, с характерните за C# конструкции като делегати, ламбда изрази, интерфейси, итератори и много други неща от съвременния свят на програмирането. Също така се засягат и въпроси от паралелното програмиране, файловия вход/изход, мрежовото програмиране и компилирането на .NET.
Книгата дава на читателя основните насоки при работа .NET, обяснявайки фундаменталните въпроси и концепции на прост и разбираем език. В нея ще намерите изключително полезни практически примери и илюстрации, които ще ви помогнат да усвоите материала бързо и лесно.
Ако вече сте работили със С или тепърва искате да се научите да програмирате и сте решили да започнете направо от най-перспективната технология, тази книга е тъкмо за вас.
Съдържание
Въведение…7
Глава 1.
Въведение в .NET…9
Какво представлява .NET?…9
История на .NET…13
Поддържани операционни системи…17
Езици за програмиране…17
Разработка на различни типове приложения…18
Глава 2.
Философия на .NET…20
Как са програмирали преди…20
Асемблита в .NET…31
Подробно за CTS…33
Подробно за CLR…38
Пространства от имена…39
Глава 3.
Разгръщане на .NET и първа програма…41
Разгръщане при клиента…41
Първа програма с Visual Studio…53
Глава 4.
Основни конструкции на езика C#…58
Изследване на програмата Hello, world!…58
Типове данни и променливи…67
Неявно типизирани локални променливи…96
Цикли…98
Глава 5.
Обектно-ориентирано програмиране…112
Основи на ООП…112
Класове и обекти…116
Презареждане на функции на членове на класа…141
Наследяване и полиморфизъм…147
Глава 6.
Интерфейси, структури и изброявания…158
Понятието интерфейс…158
Ключови думи as и is…161
Интерфейсни свойства…162
Интерфейси и наследяване…163
Структури…165
Изброявания…168
Глава 7.
Обработка на изключения…170
Въведение в обработката на изключения…170
Прихващане на изключения. Блокове try, catch, finally…173
Клас Exception…175
Изключения на системно ниво…177
Ключова дума finally…179
Ключови думи checked и unchecked…180
Глава 8.
Делегати, събития и ламбда изрази…182
За какво се използват делегатите…182
Анонимни методи…186
Ламбда изрази…187
Събития…190
Глава 9.
Колекции и итератори…195
Въведение в колекциите…195
Слабо типизирани колекции…198
Шаблонни колекции…200
Клас ArrayList. Динамични масиви…202
Хеш-таблица. Класс HashTable…208
Създаваме стек. Класове Stack и Stack<T>…211
Опашка. Класове Queue и Queue<T>…213
Свързани списъци. Клас LinkedList<T>…215
Сортиран списък. Клас SortedList<TKey, TValue>…218
Речник. Клас Dictionary<TKey, TValue>…220
Сортиран речник: клас SortedDictionary<TKey, TValue>…224
Множества: класове HashSet<T> и SortedSet<T>…227
Имплементация на интерфейс IComparable …229
Изброители…230
Имплементация на интерфейсите IEnumerable и IEnumerator …232
Итератори. Ключова дума yield…233
Глава 10.
Файлов вход/изход…236
Въведение в пространството от имена System.IO…236
Класове за работа с файлове и папки…237
Сериализация на обекти…253
Глава 11.
Конфигурация на асемблита в .NET…257
Специални пространства от имена…257
Прецизиране на имената или конфликти на ниво имена…260
Вложени пространства от имена. Пространство по подразбиране…261
Асемблита в .NET…263
Глава 12.
Многонишковост и паралелно програмиране…276
Паралелни колекции…276
Библиотека за паралелни задачи…279
Клас Task…281
Изчакване на задача…286
Клас TaskFactory…290
Продължение на задача…291
Връщане на стойност от задача…291
Глава 13.
Мрежово програмиране…293
Пространство от имена System.Net…293
Клас Uri…294
Изтегляне на файлове (HTTP и FTP)…296
Клас Dns…300
Сокети…301