Spis treści:
Część I Środowisko .NET i język C#
Rozdział 1 Wprowadzenie do języka C# i środowiska .NET [22]
- Kiedy użyć języka C#, a kiedy języka C++? [28]
- Środowisko .NET i inne środowiska [31]
- Korzystanie z Common Language Runtime [33]
- Przeglądanie kodu zapisanego w języku pośrednim [36]
- Wykorzystanie możliwości debuggowania just – in – time [37]
- Współpraca .NET i COM [39]
- Wykorzystanie mechanizmy wersjonowania środowiska .NET do obsługi aktualizacji oprogramowania [41]
- Badanie możliwości klasy z użyciem technologii odzwierciedlenia [43]
Rozdział 2 Tworzenie aplikacji za pomocą Visual Studio .NET
- Korzystanie z okna dialogowego opcji Visual Studio [52]
- Dostosowywanie pasków narzędziowych i menu [53]
- Dodawanie elementów do menu narzędziowego [56]
- Początki pracy z Visual Studio .NET [58]
- Okienko narzędziowe Properties [63]
- IntelliSense [64]
- System pomocy [66]
Część II Język C#
Rozdział 3 Zaczynamy pracę z językiem C# [70]
- Odwołania do klas biblioteki języka C# [76]
- Tworzenie programu uruchamianego z linii poleceń [77]
- Dodawanie referencji do programu uruchamianego z linii poleceń [79]
- Porównanie wyników z językiem C++ [81]
- Tworzenie programów dla Windows [81]
- Porównanie wyników z Visual Basic-iem [84]
- Jak rozumieć białe spacje i tokeny? [87]
- Komentowanie kodu [88]
- Komentowanie kodu z użyciem XML-a [90]
- Debugger C# [91]
- Okno Output i lista zadań [94]
- Jak odczytać zawartość okna zadań [95]
- Tworzenie i używanie własnych przestrzeni nazw [96]
- Użycie klasy Console [96]
- Formatowanie wyjścia łańcuchów [98]
- Dyrektywy preprocesora [101]
Rozdział 4 Podstawy języka C# [106]
- Typy przechowywujące wartości [113]
- Referencje [114]
- Tworzenie wyrażeń [117]
- Tworzenie instrukcji [118]
- Kod zarządzany [119]
- Stosowanie operatoró logicznych [122]
- Operatory relacyjne, operatory porównania i operatory warunkowe [125]
- Operatory przypisania [127]
- Operatory działań na typach danych [130]
- Stosowanie kodu niezabezpieczonego [131]
- Stosowanie operatora sizeof [133]
- Pakowanie o odpakowywanie [135]
- Instrukcje sprawdzane i niesprawdzane [137]
- Tworzenie pętli [140]
- Instrukcje sterujące programu [144]
- Zasięg w C# [149]
Rozdział 5 Typy danych w języku C# [152]
- Definiowanie struktur w języku C# [158]
- Deklarowanie i używanie prostych typów danych [160]
- Tworzenie list wyliczeniowych [161]
- Stosowanie typów referencyjnych [164]
- Wprowadzenie do klas w języku C# [165]
- Deklaracje tablic [166]
- Interfejsy [167]
- Użycie delegacji do tworzenia funcji zwrotnej [169]
- Typ danych object [171]
- Przekazywanie parametrów funkcjom [172]
- Pola i własności [174]
- Wewnętrzna reprezentacja łańcuchów a zajętość pamięci [179]
- Kodowanie łańcuchów [180]
- Konwersja danych [183]
Rozdział 6 Struktury [186]
- Definiowanie struktur [191]
- Struktury – obiekty przechowywane jako wartości [194]
- Stosowanie struktur jako referncji [195]
- Dodawanie funkcji do struktur [197]
- Dodawanie własności do struktur [201]
Rozdział 7 Klasy [206]
- Jak korzystać z wbudowanych klas języka C#? [211]
- Odwołania do aktualnego obiektu za pomocą słowa kluczowego this [218]
- Ograniczenie dostępu do składowych [220]
- Używanie składowych i własności klas [221]
- Modyfikator static [227]
- Deklarowanie konstruktorów i destruktorów [229]
- Tworzenie stałych i pól tylko do odczytu [234]
- Zagnieżdżanie klas [237]
- Przeciążanie i ukrywanie nazw [241]
Rozdział 8 Programowanie zorientowane obiektowo i język C# [248]
- Enkapsulacja danych [251]
- Dziedziczenie z klasy bazowej [253]
- Projektowanie klasy bazowej [257]
- Ukrywanie składowych klasy bazowej [258]
- Wywoływanie konstruktorów i destruktorów w kolejności [259]
- Zapobieganie dziedziczeniu – modyfikator sealed [261]
- Polimorfizm: zmiana zachowania klasy za pomocą metod wirtualnych [262]
- Własności wirtualne [272]
- Definiowanie klasy abstrakcyjnej [274]
- Deklarowanie funkcji abstrakcyjnej [275]
- Przeglądarka obiektów [278]
- Ustalanie zakresu przeglądania [279]
- Panel obiektów [280]
- Panel składowych [281]
- Nawigacja za pomocą przeglądarki [281]
- Wyszukiwanie symboli [282]
Rozdział 9 Obsługa wyjątków [284]
- Obsługa wyjątków w CLR [288]
- Bloki try i catch [290]
- Przechwytywanie wyjątku [293]
- Wielokrotne bloki catch [295]
- Klasy reprezentujące wyjątki [297]
- Zgłaszanie wyjątku [299]
- Zasięg w blokach wyjątków [304]
- Stosowanie wyjątków
- Zakończenie programu w bloku wyjątku
- Blok finally
Rozdział 10 Zaawansowane elementy języka C# [312]
- Zagnieżdżanie przestrzeni nazw [317]
- Korzystanie z przestrzeni nazw za pomocą dyrektywy using [318]
- Instrukcja using z bliska [321]
- Dodawanie referencji [322]
- Tworzenie pliku modułu [326]
- Tworzenie podzespołu współdzielonego [327]
- Interfejsy w języku C# [330]
- Technika odzwierciedlenia [334]
- Dynamiczne wywoływanie obiektu [337]
- Tworzenie wątków [339]
Rozdział 11 Korzystanie z tablic [344]
- Inicjacja tablicy [350]
- Tablice wielowymiarowe [352]
- Tablice nieregularne [354]
- Klasa System.Array [357]
- Przeszukiwanie i sortowanie tablic [358]
- Kopiowanie tablic za pomocą metody Copy [361]
- Tablice obiektów [363]
- Mechanizm indeksujący [365]
- Jak działa mechanizm indeksujący? [367]
- Deklarowanie mechanizmu indeksującego [368]
- Kreator mechanizmów indeksujących [369]
Rozdział 12 Operacje na plikach [372]
- Klasa FileStream [379]
- Tymczasowy zapis za pomocą klasy MemoryStream [381]
- Tworzenie połączeń sieciowych za pomocą klasy NetworkStream [384]
- Buforowanie operacji wejścia/wyjścia za pomocą klasy BufferedStream [387]
- Asynchroniczne operacje wejścia /wyjścia [389]
- Pomijanie niepotrzebnych danych za pomocą pola Null [392]
- Klasy TextReader i TextWriter [393]
- Klasy StreamReader i StreamWriter [394]
- Otwieranie pliku za pomocą okienka dialogowego FileOpen [398]
- Korzystanie z klas File i FileInfo [400]
- Odczyt i zapis katalogu [404]
Część III Programowanie dla Windows w języku C#
Rozdział 13 Tworzenie aplikacji dla Windows [410]
- Tworzenie aplikacji wykorzystujących formatki [415]
- Ukrywanie i odkrywanie formatek [418]
- Dołączanie kontrolek formatek [421]
- Doawanie formatek do aplikacji [424]
- Ustalanie kolejności przełączania kontrolek [429]
- Ustawianie własności formatki [430]
- Formularze modalne i niemodalne [431]
Rozdział 14 Debuggowanie aplikacji w języku C# [440]
- Debuggowanie aplikacji C# i .NET za pomocą DbgCLR.exe [444]
- Usuwanie problemów z aplikacjami .NET za pomocą debuggera just-in-time [447]
- Uruchamianie programu w debuggerze Visual Studio [449]
- Korzystanie z pułapek wstrzymujących działanie programu [450]
- Warunkowa kompilacja metod [453]
- Odzyskiwanie śladu stosu [455]
- Korzystanie z klasy Debug [457]
- Obserwatorzy śladu [462]
- Zapisywanie komunikatów w dziennikach zdarzeń [466]
Rozdział 15 Tworzenie graficznego interfejsu użytkownika [472]
- Dodawanie menu do formatki [474]
- Projektowanie za pomocą Menu Designera [478]
- Dodawanie dekoracji do menu [485]
- Dodawanie klawiszy skrótu [486]
- Dodawanie obrazków [486]
- Dodawanie paska narzędziowego [488]
- Dodawanie menu kontekstowego [490]
- Wyświetlanie elementów w kontrolce TreeView [491]
- Wyswietlanie elementów w kontrolce ListView [496]
- Aplikacja w stylu Eksploratora Windows [503]
Rozdział 16 Korzystanie z kontrolek środowiska Windows [506]
- Ustawianie właściwości kontrolek [511]
- Niewidoczne kontrolki [515]
- Reagowanie na komunikaty sterujące [517]
- Jedno zdarzenie i wiele kontrolek [518]
- Aktywacja i deaktywacja kontrolek w tle [521]
- Kontrola GroupBox [522]
- Grupowanie przełączników radiowych [524]
- Zakotwiczenie kontrolek na formatce [525]
- Dokowanie kontrolek na formatce [527]
Rozdział 17 Typowe okienka dialogowe [530]
- Wybór kolorów [533]
- Wybór stylu tekstu za pomocą okienka FrontDialog [536]
- Otwieranie i zapis plików [539]
- Kilka słów o drukowaniu [541]
- Wybór drukarki [547]
- Ustawienia strony [549]
- Podgląd wydruku [550]
Rozdział 18 Zdarzenia i delegacje [552]
- Wykorzystanie zdarzeń w programach napisanych w języku C# [556]
- Tworzenie procedury obsługi zdarzeń [558]
- Sortowanie obiektów za pomocą delegacji [560]
- Delegacja statyczna [565]
- Przeglądanie listy wywołań delegacji [567]
- Dodawanie i usuwanie delegacji [596]
- Reagowanie na zdarzenia czasomierza [570]
- Reagowanie na zdarzenia System.Threading.Timer [572]
|