C_3_0_dla_NET_3_5_Ksiega_eksperta_csh3ke.pdf

(354 KB) Pobierz
C# 3.0 dla .NET 3.5.
Ksiêga eksperta
Autor: Joseph Mayo
T³umaczenie: Tomasz Bienkiewicz, Jacek Janusz
ISBN: 978-83-246-2141-5
Tytu³ orygina³u:
C# 3.0 Unleashed:
With the .NET Framework 3.5
Format: 172
245, stron: 1112
Oprawa: twarda
Kompletne Ÿród³o wiedzy na temat C# i .NET!
• Jak tworzyæ interfejs u¿ytkownika?
• Jak uzyskaæ dostêp do danych z wykorzystaniem LINQ?
• Jak wdra¿aæ napisany kod?
C# to jeden z g³ównych jêzyków, który mo¿esz wykorzystaæ je¿eli chcesz
tworzyæ rozwi¹zania dla platformy .NET. Jego Nnajnowsza wersja 3.0 wnios³a
wprowadzi³a wiele udoskonaleñ nowoœci takich jak, a wœród nich: typy
domniemane, typy anonimowe, uproszczone inicjowanie obiektów oraz nowe
s³owa kluczowe u³atwiaj¹ce korzystanie z zapytañ SQL. Jednak oprócz tych
nowoœci, w ksi¹¿ce znajdziesz równie¿ wyczerpuj¹cy opis wszystkich elementów
jêzyka C# — pocz¹wszy od sk³adni, skoñczywszy na wdra¿aniu kodu. Nawi¹zuj¹c
do najlepszych tradycji tej serii „Ksiêga eksperta” ksi¹¿ka „C# 3.0. Ksiêga
eksperta„ stanowi kompletne Ÿród³o wiedz na temat jêzyka C# oraz platformy
.NET w wersji 3.5.
Joe Mayo podzieli³ ksi¹¿kê na dziesiêæ g³ównych czêœci. Wœród nich znajdziesz
te poœwiêcone podstawom jêzyka C#. Dowiesz siê zatem, co to jest tak naprawdê
platforma .NET, poznasz œrodowisko programistyczne Visual Studio 2008
oraz zaznajomisz siê z jego e elementami, sk³adni¹, wyra¿eniami i instrukcjami
jêzyka C#. Czêœæ pierwsza tworzy podwaliny Twojej przygody z C# i platform¹
.NET. Kolejne czêœci zawieraj¹ coraz bardziej zaawansowan¹ wiedzê. Szczególn¹
uwagê warto zwróciæ na te poœwiêcone programowaniu obiektowemu, dostêpowi
do danych z wykorzystaniem LINQ, tworzeniu interfejsu u¿ytkownika czy te¿
wdra¿aniu kodu. Je¿eli jesteœ programist¹ C# lub chcesz rozpocz¹æ przygodê z tym
jêzykiem i platform¹ .NET jest to obowi¹zkowa pozycja w Twojej biblioteczce!
Twórz zaawansowane rozwi¹zania wykorzystuj¹c najlepsze narzêdzia!
Spis treści
Spis treści
Wstęp .................................................................................................................................. 31
Część I
Podstawy języka C# ................................................................ 37
Co to jest .NET ............................................................................................................................. 40
Wspólne środowisko uruchomieniowe (CLR) ....................................................................... 42
Dlaczego wspólne środowisko uruchomieniowe jest ważne? ........................................ 42
Możliwości CLR .................................................................................................................... 43
Proces uruchamiania CLR .................................................................................................. 43
Biblioteka klas platformy .NET (FCL) ..................................................................................... 46
C# i inne języki platformy .NET ................................................................................................ 47
Wspólny system typów (CTS) ................................................................................................... 48
Specyfikacja wspólnego języka (CLS) ....................................................................................... 49
Podsumowanie ............................................................................................................................. 49
Rozdział 1. Wprowadzenie do platformy .NET ............................................................. 39
Rozdział 2. Wprowadzenie do języka C# i środowiska Visual Studio 2008 ............... 51
Budowanie prostego programu w języku C# .......................................................................... 52
Tworzenie projektu w środowisku Visual Studio 2008 (VS2008) ........................................ 56
Uruchamianie kreatora nowego projektu ......................................................................... 57
Rozwiązania i projekty ......................................................................................................... 60
Kodowanie w środowisku VS2008 ..................................................................................... 60
Budowanie i uruchamianie aplikacji ................................................................................. 63
Ustawianie opcji kompilatora ............................................................................................. 66
Komentowanie kodu ................................................................................................................... 67
Komentarze wielowierszowe .............................................................................................. 67
Komentarze jednowierszowe .............................................................................................. 67
Komentarze dokumentacji w standardzie XML .............................................................. 68
Identyfikatory i słowa kluczowe ................................................................................................ 70
Identyfikatory ........................................................................................................................ 70
Słowa kluczowe ..................................................................................................................... 71
Konwencje i styl ........................................................................................................................... 73
Zmienne i typy ............................................................................................................................. 73
Zmienne ................................................................................................................................. 73
Typy proste ............................................................................................................................ 75
Typ łańcuchowy .................................................................................................................... 79
Przypisanie oznaczone ................................................................................................................ 80
Komunikacja z programami ...................................................................................................... 80
Komunikacja za pomocą ekranu konsoli .......................................................................... 81
Komunikacja za pomocą wiersza poleceń ........................................................................ 82
7
Spis treści
Parametry wiersza poleceń w VS2008 ............................................................................... 82
Zwracanie wartości z programu ......................................................................................... 84
Podsumowanie ............................................................................................................................. 85
Rozdział 3. Wyrażenia i instrukcje języka C# ................................................................ 87
Operatory języka C# .................................................................................................................... 88
Operatory jednoargumentowe ........................................................................................... 88
Operatory dwuargumentowe .............................................................................................. 91
Operatory relacji ................................................................................................................... 93
Operatory logiczne ............................................................................................................... 95
Operatory przypisania ......................................................................................................... 98
Operator trójargumentowy ................................................................................................. 98
Inne operatory ...................................................................................................................... 99
Instrukcje .................................................................................................................................... 101
Bloki i zasięg zmiennych .......................................................................................................... 102
Etykiety ....................................................................................................................................... 103
Priorytet i łączność operatorów .............................................................................................. 103
Instrukcje wyboru i pętli .......................................................................................................... 104
Instrukcje if .......................................................................................................................... 104
Instrukcje switch ................................................................................................................. 106
Pętle w języku C# ................................................................................................................ 109
Instrukcje goto .................................................................................................................... 113
Instrukcje break .................................................................................................................. 114
Instrukcje continue ............................................................................................................ 115
Instrukcje return ................................................................................................................. 116
Podsumowanie ........................................................................................................................... 116
Rozdział 4. Typy referencyjne i wartościowe ............................................................. 117
Krótkie wprowadzenie do typów referencyjnych i wartościowych ................................... 118
Ujednolicony system typów ..................................................................................................... 119
W jaki sposób działa ujednolicony system typów ......................................................... 119
Użycie typu object w programowaniu ogólnym ............................................................ 120
Wpływ opakowywania i rozpakowywania na wydajność ............................................. 122
Przydział pamięci dla typu referencyjnego i wartościowego .............................................. 124
Przydział pamięci dla typu referencyjnego ..................................................................... 125
Przydział pamięci dla typu wartościowego ..................................................................... 126
Przypisanie dla typu referencyjnego i wartościowego ......................................................... 127
Przypisanie dla typu referencyjnego ................................................................................ 127
Przypisanie dla typu wartościowego ................................................................................ 130
Więcej różnic między typami referencyjnymi a wartościowymi ....................................... 131
Różnice dziedziczenia pomiędzy typami referencyjnymi a wartościowymi ............. 132
Różnice konstrukcyjne i finalizacyjne
pomiędzy typami referencyjnymi a wartościowymi ................................................... 132
Rozważania dotyczące rozmiaru obiektów
dla typów referencyjnych i wartościowych .................................................................. 133
8
Spis treści
Typy języka C# i środowiska .NET Framework .................................................................... 134
Zamienniki w języku C# i wspólny system typów (CTS) ............................................. 134
Użycie typu System.Guid .................................................................................................. 135
Użycie typu System.DateTime ......................................................................................... 137
Typy dopuszczające wartości puste ........................................................................................ 141
Podsumowanie ........................................................................................................................... 144
Rozdział 5. Operacje na łańcuchach ............................................................................ 145
Typ string języka C# .................................................................................................................. 146
Formatowanie łańcuchów ................................................................................................. 147
Porównywanie łańcuchów ................................................................................................ 150
Sprawdzanie warunku równości łańcuchów .................................................................. 151
Łączenie łańcuchów ........................................................................................................... 152
Kopiowanie łańcuchów ..................................................................................................... 153
Sprawdzanie zawartości łańcucha .................................................................................... 154
Wyodrębnianie informacji z łańcucha ............................................................................ 154
Wyrównywanie i przycinanie wyjściowego łańcucha ................................................... 156
Modyfikacja zawartości łańcucha .................................................................................... 157
Dzielenie i łączenie łańcuchów ......................................................................................... 159
Operacje na znakach łańcucha ......................................................................................... 160
Wpływ puli wewnętrznej na obsługę łańcuchów CLR ................................................. 161
Klasa StringBuilder .................................................................................................................... 163
Metoda Append .................................................................................................................. 163
Metoda AppendFormat ..................................................................................................... 163
Metoda EnsureCapacity .................................................................................................... 164
Metoda ToString ................................................................................................................. 164
Wyrażenia regularne ................................................................................................................. 165
Podstawowe operacje na wyrażeniach regularnych ...................................................... 165
Więcej wyrażeń regularnych ............................................................................................. 166
Aplikacja służąca do ćwiczeń z wyrażeniami regularnymi .......................................... 167
Podsumowanie ........................................................................................................................... 170
Rozdział 6. Użycie tablic i typów wyliczeniowych ..................................................... 171
Tablice ......................................................................................................................................... 172
Tablice jednowymiarowe .................................................................................................. 173
Tablice wielowymiarowe ................................................................................................... 175
Tablice postrzępione .......................................................................................................... 176
Klasa System.Array ................................................................................................................... 178
Zakresy tablic ...................................................................................................................... 178
Przeszukiwanie i sortowanie ............................................................................................. 179
Użycie typów wyliczeniowych ................................................................................................. 180
Struktura System.Enum ............................................................................................................ 184
Przekształcenia między typami wyliczeniowymi, całkowitymi i łańcuchowymi ...... 184
Iteracyjne przetwarzanie elementów typu wyliczeniowego ......................................... 185
Inne elementy struktury System.Enum ........................................................................... 186
Podsumowanie ........................................................................................................................... 187
9
Spis treści
Rozdział 7. Debugowanie aplikacji za pomocą Visual Studio 2008.......................... 189
Krokowe uruchamianie programu ..........................................................................................190
Program demonstrujący działanie debugera...................................................................190
Ustawianie punktów wstrzymania....................................................................................191
Kontrola stanu programu...................................................................................................192
Krokowe uruchamianie programu ...................................................................................194
Inne przydatne polecenia ułatwiające debugowanie......................................................195
Użycie debugera w celu odnalezienia błędu w programie ............................................196
Podłączanie do procesów ...................................................................................................200
Podsumowanie............................................................................................................................203
Część II
Programowanie zorientowane obiektowo w języku C# ... 205
Elementy obiektu ....................................................................................................................... 208
Elementy statyczne i instancyjne ............................................................................................ 209
Pola .............................................................................................................................................. 210
Pola stałe .............................................................................................................................. 210
Pola readonly ....................................................................................................................... 211
Metody ........................................................................................................................................ 211
Właściwości ................................................................................................................................ 212
Deklarowanie właściwości ................................................................................................. 212
Użycie właściwości ............................................................................................................. 213
Właściwości automatyczne ............................................................................................... 213
Gotowy fragment kodu dla właściwości w środowisku VS2008 ................................. 214
Indeksatory ................................................................................................................................. 215
Gdzie mogą zostać użyte typy częściowe? .............................................................................. 216
Klasy statyczne ........................................................................................................................... 217
Klasa System.Object .................................................................................................................. 217
Sprawdzanie typu obiektu ................................................................................................. 217
Porównywanie referencji ................................................................................................... 218
Sprawdzanie równości ....................................................................................................... 218
Uzyskiwanie wartości mieszających ................................................................................ 219
Klonowanie obiektów ........................................................................................................ 219
Używanie obiektów jako łańcuchów ............................................................................... 220
Podsumowanie ........................................................................................................................... 221
Rozdział 8. Projektowanie obiektów .......................................................................... 207
Rozdział 9. Implementacja reguł zorientowanych obiektowo ................................. 223
Dziedziczenie ............................................................................................................................. 224
Klasy bazowe ....................................................................................................................... 225
Wywoływanie elementów klasy bazowej ........................................................................ 226
Ukrywanie elementów klasy bazowej .............................................................................. 227
Obsługa wersji ..................................................................................................................... 227
Klasy opieczętowane .......................................................................................................... 230
Hermetyzacja organizacji wewnętrznej obiektu ................................................................... 231
Ukrywanie danych .............................................................................................................. 231
Modyfikatory wspierające hermetyzację ......................................................................... 232
10
Zgłoś jeśli naruszono regulamin