C_2005_Warsztat_programisty_cshwar.pdf

(439 KB) Pobierz
C# 2005. Warsztat programisty
C# 2005. Warsztat
Autor: Adrian Kingsley-Hughes, Kathie Kingsley-Hughes
TĀumaczenie:Wojciech Demski
ISBN: 978-83-246-1065-5
Format: B5, stron: 392
oprawa twarda
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
WyjĴtkowy podrķcznik jķzyka C#
¤ Elementy jķzyka i podstawowe koncepcje programistyczne
¤ Techniki tworzenia najwyŃszej klasy aplikacji dla platformy .NET
¤ Metody poprawy bezpieczeĺstwa i wydajnoľci aplikacji
Jķzyk C#, pomimo stosunkowo krtkiej obecnoľci na rynku, zyskaĀ ogromnĴ
popularnoľě i jest wykorzystywany przez wielu programistw. Trudno siķ temu dziwiě
Ï ten ĀĴczĴcy w sobie najlepsze cechy Javy i C++ obiektowy jķzyk programowania
jest niezwykle uniwersalny. MoŃna wykorzystaě go w niemal kaŃdym projekcie
Ï programw dla systemu Windows, dynamicznych witryn internetowych w technologii
ASP.NET oraz aplikacji mobilnych dla platformy PocketPC. Prosta skĀadnia,
rozbudowane mechanizmy obsĀugi wyjĴtkw i dostķp do ogromnej biblioteki klas .NET
sprawiajĴ, Ńe C# jest doskonaĀym narzķdziem.
KsiĴŃka â C# 2005. Warsztat programisty Ò to poĀĴczenie kursu i podrķcznika
programowania w tym jķzyku. CzytajĴc jĴ, opanujesz zarwno podstawy C#, jak
i zaawansowane zagadnienia zwiĴzane z tworzeniem bezpiecznych i wydajnych
aplikacji. Poznasz typy danych, zasady stosowania zmiennych oraz skĀadniķ instrukcji
i wyraŃeĺ. Przeczytasz o programowaniu obiektowym, typach generycznych, obsĀudze
wyjĴtkw i technikach programowania w C#. Znajdziesz tu rwnieŃ omwienie
gramatyki jķzyka C#, konwencji nazewniczych i zasad umieszczania komentarzy
w dokumentacji XML.
¤ Narzķdzia programistyczne
¤ Struktura jķzyka C#
¤ Typy danych
¤ WyraŃenia i instrukcje
¤ Przestrzenie nazw
¤ Klasy i obiekty
¤ Typy wyliczeniowe
¤ ObsĀuga wyjĴtkw
¤ Typy generyczne
Poznaj nowoczesne metody tworzenia aplikacji
programisty
430817825.001.png 430817825.002.png 430817825.003.png 430817825.004.png
Spis treści
O autorach .................................................................................................................................................. 15
Wprowadzenie ........................................................................................................................................... 17
Rozdział 1. Czym jest C # ? ..........................................................................................................................23
Nazwa ......................................................................................................................... 23
Ogólny rzut oka na C# .................................................................................................. 23
Historia .................................................................................................................. 24
C# i CLR ................................................................................................................ 24
Wzmianka o .NET .................................................................................................... 25
Standardy ............................................................................................................... 25
Inne implementacje ................................................................................................. 25
Przykładowy kod C# ...................................................................................................... 26
Korzyści z nauki programowania w C# ............................................................................ 28
Podsumowanie ............................................................................................................ 28
Rozdział 2. Początki pracy z C # ...............................................................................................................29
Początki pracy z C# są tańsze, niż mogłoby się wydawać! ................................................ 29
Tanie opcje ............................................................................................................. 29
Jak pisać kod C#, stosując bezpłatne narzędzia ........................................................ 32
Tanie narzędzie, które ułatwia życie! .............................................................................. 35
Alternatywne edytory tekstowe i narzędzia C# ................................................................. 37
Narzędzia komercyjne: Visual Studio i Visual C# ............................................................. 37
Podsumowanie ............................................................................................................ 38
Rozdział 3. Ogólny rzut oka na C # ...........................................................................................................39
C# .............................................................................................................................. 39
Podstawy C# ................................................................................................................ 39
Czytanie źródłowego kodu C# ................................................................................... 40
Typy ............................................................................................................................ 41
Typy wartości .......................................................................................................... 41
Typy referencyjne .................................................................................................... 41
Typy predefiniowane ................................................................................................ 42
Przeciążanie ........................................................................................................... 44
Przekształcenia ....................................................................................................... 44
Typy tablicowe ........................................................................................................ 45
Zmienne i parametry ..................................................................................................... 45
Wyrażenia .................................................................................................................... 47
Instrukcje .................................................................................................................... 48
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
Zgłoś jeśli naruszono regulamin