c# 2005. warsztat programisty helion.pdf

(11099 KB) Pobierz
888123639.001.png
6
C # 2005. Warsztat programisty
Klasy ........................................................................................................................... 49
Stałe ...................................................................................................................... 50
Pola ....................................................................................................................... 50
Metody ................................................................................................................... 50
Właściwości ............................................................................................................ 51
Zdarzenia ............................................................................................................... 51
Operatory ............................................................................................................... 51
Indeksatory ............................................................................................................ 51
Konstruktory instancji .............................................................................................. 51
Destruktory ............................................................................................................ 52
Konstruktory statyczne ............................................................................................ 52
Dziedziczenie .......................................................................................................... 52
Klasy statyczne ....................................................................................................... 52
Struktury ..................................................................................................................... 53
Interfejsy .....................................................................................................................53
Delegacje .................................................................................................................... 53
Typy wyliczeniowe ......................................................................................................... 54
Typy generyczne ........................................................................................................... 54
Iteratory ......................................................................................................................54
Typy dopuszczające wartość pustą ................................................................................. 55
Podsumowanie ............................................................................................................ 55
Rozdział 4. Struktura języka C # ..............................................................................................................57
Programy C# ................................................................................................................ 57
Gramatyka ................................................................................................................... 59
Dwuznaczności gramatyczne .................................................................................... 59
Analiza leksykalna ................................................................................................... 61
Podsumowanie ............................................................................................................ 77
Rozdział 5. Koncepcje języka C # .............................................................................................................79
Uruchamianie aplikacji .................................................................................................. 79
Zamykanie aplikacji ...................................................................................................... 80
Deklaracje w C# ........................................................................................................... 80
Składowe .................................................................................................................... 83
Składowe przestrzeni nazw ...................................................................................... 83
Składowe struktur ................................................................................................... 83
Składowe wyliczeniowe ............................................................................................ 83
Składowe klas ........................................................................................................ 83
Składowe interfejsów .............................................................................................. 84
Składowe tablic ...................................................................................................... 85
Składowe delegacji ................................................................................................. 85
Dostęp do składowych .................................................................................................. 85
Deklarowana dostępność ......................................................................................... 85
Sygnatury .................................................................................................................... 86
Sygnatury indeksatorów ........................................................................................... 86
Sygnatury konstruktorów instancji ............................................................................ 86
Sygnatury metod ..................................................................................................... 86
Sygnatury operatorów .............................................................................................. 87
Sygnatury i przeciążanie .......................................................................................... 87
Zasięg ......................................................................................................................... 88
Nazwy przestrzeni nazw i typów ..................................................................................... 89
Spis treści
7
Zarządzanie pamięcią w C# ........................................................................................... 89
Podsumowanie ............................................................................................................ 90
Rozdział 6. Typy ......................................................................................................................................... 91
Trzy typy typów ............................................................................................................. 91
Różnice pomiędzy typami wartościowymi i referencyjnymi ........................................... 91
System typów w C# ...................................................................................................... 92
Typy wartościowe ......................................................................................................... 92
System.ValueType ................................................................................................... 94
Konstruktory domyślne ............................................................................................ 94
Typy strukturalne .................................................................................................... 94
Typy proste ............................................................................................................. 95
Typy całkowitoliczbowe ............................................................................................ 96
Określanie typów .................................................................................................... 97
Typy zmiennoprzecinkowe ........................................................................................ 98
Typy dziesiętne ....................................................................................................... 98
Typ bool ................................................................................................................. 99
Typy wyliczeniowe ................................................................................................... 99
Typy referencyjne ......................................................................................................... 99
Typy klas .............................................................................................................. 100
Typ object ............................................................................................................ 101
Typ string ............................................................................................................. 101
Typy tablicowe ...................................................................................................... 101
Typy delegacji ....................................................................................................... 101
Typ null ................................................................................................................ 101
Pakowanie i odpakowywanie .................................................................................. 101
Typy nullable ......................................................................................................... 102
Podsumowanie .......................................................................................................... 103
Rozdział 7. Zmienne ................................................................................................................................. 105
Czym są zmienne? ..................................................................................................... 105
Nie wszystkie zmienne tworzy się w ten sam sposób ............................................... 105
Kategorie zmiennych .................................................................................................. 106
Zmienne statyczne ................................................................................................ 107
Elementy tablicy .................................................................................................... 107
Zmienne instancji .................................................................................................. 108
Parametry wartości ............................................................................................... 109
Parametry referencyjne .......................................................................................... 109
Parametry wyjściowe ............................................................................................. 110
Zmienne lokalne ................................................................................................... 111
Wartości domyślne ..................................................................................................... 111
Przypisania niewątpliwe .............................................................................................. 111
Zmienne zainicjalizowane ....................................................................................... 112
Zmienne niezainicjalizowane .................................................................................. 112
Podsumowanie .......................................................................................................... 121
Rozdział 8. Przekształcenia ................................................................................................................... 123
Przekształcenia niejawne ............................................................................................ 123
Przekształcenia tożsamościowe ............................................................................. 124
Niejawne przekształcenia liczbowe ......................................................................... 124
Niejawne przekształcenia wyliczeniowe ................................................................... 125
Niejawne przekształcenia referencyjne .................................................................... 125
8
C # 2005. Warsztat programisty
Przekształcenia typu opakowywanie ........................................................................ 126
Niejawne przekształcenia parametrów typów ........................................................... 127
Niejawne przekształcenia wyrażeń stałych ............................................................... 127
Niejawne przekształcenia definiowane przez użytkownika ......................................... 127
Przekształcenia jawne ................................................................................................. 128
Jawne przekształcenia liczbowe .............................................................................. 128
Jawne przekształcenia wyliczeniowe ....................................................................... 130
Jawne przekształcenia referencyjne ........................................................................ 131
Przekształcenia typu odpakowywanie ...................................................................... 132
Jawne przekształcenia parametrów typu .................................................................. 132
Jawne przekształcenia definiowane przez użytkownika .............................................. 132
Przekształcenia standardowe ...................................................................................... 132
Standardowe przekształcenia niejawne ................................................................... 133
Standardowe przekształcenia jawne ........................................................................ 133
Przekształcenia definiowane przez użytkownika ....................................................... 133
Przekształcenia metod anonimowych ........................................................................... 134
Przekształcenia grup metod ........................................................................................ 134
Przekształcenia typu null ............................................................................................. 135
Przekształcenia dopuszczające wartość pustą ......................................................... 135
Podsumowanie .......................................................................................................... 136
Rozdział 9. Wyrażenia ............................................................................................................................. 137
Klasyfikacja wyrażeń ................................................................................................... 137
Wyniki wyrażeń ..................................................................................................... 138
Wartości wyrażeń ....................................................................................................... 138
Wyrażenia i operatory ................................................................................................. 138
Trzy rodzaje operatorów ......................................................................................... 139
Priorytet i łączność operatorów ............................................................................... 139
Przeciążanie operatorów ........................................................................................ 141
Operatory rozszerzone ........................................................................................... 144
Wyszukiwanie składowej ............................................................................................. 146
Typy bazowe ......................................................................................................... 147
Składowe funkcyjne .................................................................................................... 147
Wyrażenia podstawowe ............................................................................................... 151
Literały ................................................................................................................. 152
Nazwy proste ........................................................................................................ 152
Wyrażenia nawiasowe ............................................................................................ 152
Dostęp do składowej ............................................................................................. 152
Wyrażenia wywołania ............................................................................................. 153
Dostęp do elementu .............................................................................................. 154
Wyrażenie wartości domyślnej ................................................................................ 157
Metody anonimowe ............................................................................................... 157
Wyrażenia jednoargumentowe ..................................................................................... 158
Wyrażenia rzutowania ................................................................................................. 158
Operatory arytmetyczne .............................................................................................. 158
Operatory przesunięcia ............................................................................................... 159
Operatory relacyjne ..................................................................................................... 159
Operatory logiczne ...................................................................................................... 160
Logiczne operatory warunkowe .................................................................................... 161
Operator null coalescing ............................................................................................. 161
Operatory przypisania ................................................................................................. 162
Spis treści
9
Wyrażenie .................................................................................................................. 163
Wyrażenia stałe .......................................................................................................... 163
Wyrażenia boolowskie ................................................................................................. 165
Podsumowanie .......................................................................................................... 166
Rozdział 10. Instrukcje ............................................................................................................................ 167
Czym są instrukcje? ................................................................................................... 167
Instrukcje C# ............................................................................................................. 169
Punkt końcowy i osiągalność .................................................................................. 170
Punkt końcowy ...................................................................................................... 170
Osiągalność ......................................................................................................... 170
Bloki kodu ................................................................................................................. 172
Listy instrukcji ...................................................................................................... 172
Instrukcje puste ......................................................................................................... 173
Instrukcje etykietowane .............................................................................................. 173
Instrukcje deklaracyjne ............................................................................................... 174
Deklaracje zmiennych lokalnych ............................................................................. 174
Deklaracje stałych lokalnych .................................................................................. 175
Instrukcje wyrażeniowe ............................................................................................... 176
Instrukcje wyboru .................................................................................................. 176
Instrukcje iteracyjne .............................................................................................. 182
Instrukcje skoku ................................................................................................... 184
Instrukcja using .................................................................................................... 187
Instrukcja yield ..................................................................................................... 188
Podsumowanie .......................................................................................................... 189
Rozdział 11. Przestrzenie nazw ............................................................................................................... 191
Czym są przestrzenie nazw? ........................................................................................ 191
Organizowanie klas ............................................................................................... 191
Kontrolowanie zasięgu ........................................................................................... 192
Jednostki kompilacji ................................................................................................... 192
Deklaracje przestrzeni nazw ........................................................................................ 193
Dyrektywy użycia synonimu zewnętrznego ..................................................................... 194
Dyrektywy użycia ........................................................................................................ 195
Składowe przestrzeni nazw .................................................................................... 196
Deklaracje typów ................................................................................................... 196
Kwalifikowane składowe synonimów ....................................................................... 197
Podsumowanie .......................................................................................................... 199
Rozdział 12. Klasy .................................................................................................................................... 201
Czym są klasy? .......................................................................................................... 201
Deklaracje klas .......................................................................................................... 201
Modyfikatory klas .................................................................................................. 202
Wskazanie klasy bazowej ....................................................................................... 203
Klasy bazowe ........................................................................................................ 203
Implementacje interfejsów ..................................................................................... 203
Ciało klasy ........................................................................................................... 204
Deklaracje częściowe ............................................................................................ 204
Składowe klasy .......................................................................................................... 204
Dziedziczenie ........................................................................................................ 206
Modyfikator new ................................................................................................... 206
Modyfikatory dostępu ............................................................................................ 206
Zgłoś jeśli naruszono regulamin