Adam Boduch wstęp do programowania w języku c# pełna wersja.pdf

(10553 KB) Pobierz
888467091.001.png
4
Wstęp do programowania w języku C#
Rozdział 2.
Podstawy platformy .NET ................................................................ 31
Interfejs programistyczny ............................................................................................... 32
API systemu Windows ............................................................................................. 32
Wizja .NET .....................................................................................................................33
Składniki platformy .NET ........................................................................................ 34
Konkluzja ................................................................................................................. 37
C# a .NET ....................................................................................................................... 37
Rodzaje aplikacji ............................................................................................................ 38
Aplikacje konsolowe ................................................................................................ 38
Windows Forms ........................................................................................................ 38
Formularze Web Forms ............................................................................................ 38
Składniki .NET Framework ............................................................................................ 39
Usługi sieciowe ............................................................................................................... 39
Niezależność ............................................................................................................. 40
Uniwersalność .......................................................................................................... 40
Podsumowanie ................................................................................................................ 41
Rozdział 3.
Podstawy języka C# ....................................................................... 43
Podstawowa składnia ...................................................................................................... 43
Najprostszy program ................................................................................................. 45
Jak kompilatory czytają kod ..................................................................................... 45
Wielkość znaków ...................................................................................................... 45
Program musi posiadać metodę Main ....................................................................... 46
Średnik kończy instrukcję ......................................................................................... 46
Program musi posiadać klasę .................................................................................... 47
Wcięcia, odstępy ...................................................................................................... 47
Słowa kluczowe ........................................................................................................ 47
Symbole .................................................................................................................... 47
Komentarze .....................................................................................................................48
Podzespoły, metody, klasy .............................................................................................. 49
Funkcje ..................................................................................................................... 49
Metody ..................................................................................................................... 50
Klasy ......................................................................................................................... 50
Przestrzenie nazw ..................................................................................................... 51
Operator kropki ........................................................................................................ 51
Słowo kluczowe using .............................................................................................. 52
Zmienne .......................................................................................................................... 53
Deklarowanie zmiennych ......................................................................................... 53
Przydział danych ...................................................................................................... 54
Typy danych ............................................................................................................. 55
Restrykcje w nazewnictwie ...................................................................................... 55
Stałe ................................................................................................................................ 56
Operacje na konsoli ........................................................................................................ 57
Metody klasy Console .............................................................................................. 58
Właściwości klasy Console ...................................................................................... 58
Operatory ........................................................................................................................ 59
Operatory porównania .............................................................................................. 60
Operatory arytmetyczne ........................................................................................... 60
Operator inkrementacji oraz dekrementacji .............................................................. 61
Operatory logiczne ................................................................................................... 62
Operatory bitowe ...................................................................................................... 62
Operatory przypisania ............................................................................................... 63
Inne operatory ........................................................................................................... 63
Spis treści
5
Instrukcje warunkowe ..................................................................................................... 63
Instrukcja if ............................................................................................................... 64
Słowo kluczowe else ................................................................................................ 68
Instrukcja else if ....................................................................................................... 69
Instrukcja switch ....................................................................................................... 70
Pętle ................................................................................................................................ 73
Pętla while ................................................................................................................ 73
Pętla do-while ........................................................................................................... 75
Pętla for .................................................................................................................... 76
Instrukcja break ........................................................................................................ 77
Instrukcja continue ................................................................................................... 78
Operator warunkowy ................................................................................................ 79
Konwersja danych .......................................................................................................... 80
Rzutowanie .....................................................................................................................81
Przykładowa aplikacja .................................................................................................... 81
Dyrektywy preprocesora ................................................................................................. 83
Deklarowanie symboli .............................................................................................. 84
Instrukcje warunkowe ............................................................................................... 84
Błędy i ostrzeżenia ................................................................................................... 85
Podsumowanie ................................................................................................................ 86
Rozdział 4.
Przegląd .NET Framework ............................................................... 87
Środowisko CLR ............................................................................................................ 87
Kod pośredni IL ........................................................................................................ 88
Kod zarządzany i niezarządzany ............................................................................... 89
Moduł zarządzany .................................................................................................... 89
Podzespoły ................................................................................................................ 90
Działanie CLR .......................................................................................................... 90
System CTS .................................................................................................................... 91
Specyfikacja CLS ........................................................................................................... 92
Biblioteka klas ................................................................................................................93
Moduły, przestrzenie nazw ............................................................................................. 93
Wieloznaczność ........................................................................................................ 95
Główne przestrzenie nazw ........................................................................................ 96
Podsumowanie ................................................................................................................ 97
Rozdział 5.
Programowanie obiektowe .............................................................. 99
Na czym polega programowanie obiektowe ................................................................... 99
Podstawowy kod formularza WinForms ....................................................................... 101
Moduł Form1.Designer.cs ...................................................................................... 103
Generowanie kodu .................................................................................................. 104
Ukrywanie kodu ..................................................................................................... 105
Programowanie zdarzeniowe ........................................................................................ 106
Generowanie zdarzeń ............................................................................................. 106
Obsługa zdarzeń ..................................................................................................... 110
Klasy ............................................................................................................................. 110
Składnia klasy ......................................................................................................... 110
Do czego służą klasy .............................................................................................. 111
Instancja klasy ........................................................................................................ 112
Klasy zagnieżdżone ................................................................................................ 114
Pola ............................................................................................................................... 114
6
Wstęp do programowania w języku C#
Metody .......................................................................................................................... 115
Zwracana wartość ................................................................................................... 116
Parametry metod ..................................................................................................... 116
Przeciążanie metod ................................................................................................. 118
Przekazywanie parametrów .................................................................................... 119
Dziedziczenie ................................................................................................................ 122
Klasa domyślna ...................................................................................................... 123
Hermetyzacja ................................................................................................................ 123
Modyfikatory dostępu ................................................................................................... 123
Sekcja private ......................................................................................................... 124
Sekcja public .......................................................................................................... 125
Sekcja protected ...................................................................................................... 126
Sekcja internal ........................................................................................................ 127
Konstruktor ................................................................................................................... 127
Pola tylko do odczytu ............................................................................................. 128
Destruktor ..................................................................................................................... 129
Właściwości .................................................................................................................. 129
Modyfikatory dostępu ............................................................................................. 132
Elementy statyczne ....................................................................................................... 132
Metody statyczne .................................................................................................... 133
Klasy statyczne ....................................................................................................... 134
Polimorfizm .................................................................................................................. 135
Ukrywanie elementów klas ..................................................................................... 135
Słowo kluczowe base .............................................................................................. 137
Metody wirtualne .................................................................................................... 139
Przedefiniowanie metod ......................................................................................... 140
Elementy abstrakcyjne ............................................................................................ 141
Elementy zaplombowane ........................................................................................ 142
.NET Framework Class Library .................................................................................... 142
Przestrzenie nazw ................................................................................................... 143
Klasa System.Object ............................................................................................... 143
Opakowywanie typów .................................................................................................. 145
Interfejsy ....................................................................................................................... 146
Implementacja wielu interfejsów ............................................................................ 147
Typy wyliczeniowe ....................................................................................................... 148
Wartości elementów ............................................................................................... 149
Struktury ....................................................................................................................... 150
Konstruktory struktur ............................................................................................. 152
Operatory is i as ............................................................................................................ 154
Przeładowanie operatorów ............................................................................................ 155
Słowo kluczowe operator ....................................................................................... 156
Dzielenie klas ................................................................................................................ 158
Podsumowanie .............................................................................................................. 158
Rozdział 6.
Delegaty i zdarzenia ...................................................................... 159
Delegaty ........................................................................................................................ 159
Tworzenie delegatów .............................................................................................. 160
Użycie delegatów ................................................................................................... 161
Funkcje zwrotne ..................................................................................................... 163
Delegaty złożone .................................................................................................... 165
Metody anonimowe ................................................................................................ 165
Zdarzenia ...................................................................................................................... 166
Podsumowanie .............................................................................................................. 169
Spis treści
7
Rozdział 7.
Tablice i kolekcje ......................................................................... 171
Czym są tablice ............................................................................................................. 171
Deklarowanie tablic ...................................................................................................... 172
Indeks ..................................................................................................................... 172
Inicjalizacja danych ................................................................................................ 173
Tablice wielowymiarowe .............................................................................................. 173
Pętla foreach ................................................................................................................. 174
Pętla foreach a tablice wielowymiarowe ................................................................ 176
Tablice tablic ................................................................................................................ 177
Tablice struktur ............................................................................................................. 177
Parametr args w metodzie Main() ................................................................................. 178
Klasa System.Array ...................................................................................................... 179
Metody klasy .......................................................................................................... 180
Słowo kluczowe params ......................................................................................... 185
Przykład — gra kółko i krzyżyk ................................................................................... 186
Zasady gry .............................................................................................................. 186
Specyfikacja klasy .................................................................................................. 186
Ustawienie symbolu na planszy .............................................................................. 190
Sprawdzenie wygranej ............................................................................................ 191
Interfejs aplikacji .................................................................................................... 196
Mechanizm indeksowania ............................................................................................. 201
Indeksy łańcuchowe ............................................................................................... 203
Kolekcje ........................................................................................................................ 204
Interfejsy System.Collections ................................................................................. 204
Stosy ....................................................................................................................... 206
Kolejki .................................................................................................................... 208
Klasa ArrayList ...................................................................................................... 209
Listy .............................................................................................................................. 209
Typy generyczne .................................................................................................... 210
Korzystanie z list .................................................................................................... 212
Słowniki ........................................................................................................................ 214
Przykładowy program ............................................................................................. 215
Podsumowanie .............................................................................................................. 217
Rozdział 8.
Obsługa wyjątków ........................................................................ 219
Czym są wyjątki ........................................................................................................... 220
Obsługa wyjątków ........................................................................................................ 220
Blok finally ............................................................................................................. 221
Zagnieżdżanie wyjątków ........................................................................................ 222
Klasa System.Exception ............................................................................................... 223
Selektywna obsługa wyjątków ............................................................................... 223
Wywoływanie wyjątków ........................................................................................ 224
Własne klasy wyjątków ................................................................................................ 224
Deklarowanie własnej klasy ................................................................................... 225
Przykładowa aplikacja ............................................................................................ 226
Przepełnienia zmiennych .............................................................................................. 229
Podsumowanie .............................................................................................................. 230
Rozdział 9. Łańcuchy w C# ............................................................................. 231
Typ System.String ........................................................................................................ 231
Unicode w łańcuchach ............................................................................................ 232
Niezmienność łańcuchów ....................................................................................... 232
Konstruktory klasy ................................................................................................. 233
Operacje na łańcuchach .......................................................................................... 234
Zgłoś jeśli naruszono regulamin