Microsoft Visual C 2005 Ksiega eksperta.pdf

(417 KB) Pobierz
Microsoft Visual C# 2005. Księga eksperta
Microsoft Visual C# 2005.
Autor: Kevin Hoffman
T‡umaczenie: Marcin Winiarski (wstŒp, rozdz. 1-23, 30-35,
38-41), Tomasz Grochowski (rozdz. 24-27, 29, 36, 37),
Dariusz Ma‡yszko (rozdz. 28)
ISBN: 978-83-246-0664-1
Format: B5, stron: oko‡o 650
Wydawnictwo Helion
ul. Ko￿ciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Kompletny przewodnik po jŒzyku C#
￿ Poznaj sk‡adniŒ jŒzyka C# i mo¿liwo￿ci platformy .NET
￿ Wykorzystaj formularze do tworzenia efektownych interfejs￿w u¿ytkownika
￿ Pisz bezpieczne aplikacje bazodanowe i sieciowe
Na platformie .NET mo¿na programowa￿ w wielu jŒzykach, jednak najwa¿niejszym
z nich jest C#, kt￿ry zosta‡ zaprojektowany specjalnie w tym celu; to jŒzyk u‡atwiaj„cy
wygodne korzystanie z niesamowitych mo¿liwo￿ci .NET Framework. Za pomoc„ C#
mo¿esz bez ¿mudnej nauki skomplikowanej sk‡adni b‡yskawicznie tworzy￿ efektowne
programy dla systemu Windows, witryny internetowe, us‡ugi sieciowe czy aplikacje
bazodanowe. Szerokie zastosowania i du¿e mo¿liwo￿ci po‡„czone z ‡atwo￿ci„ nauki
sprawiaj„, ¿e jŒzyk C# to doskona‡y wyb￿r zar￿wno dla pocz„tkuj„cych,
jak i do￿wiadczonych programist￿w.
Ksi„¿ka ￿ Microsoft Visual C# 2005. KsiŒga eksperta ￿ to wyczerpuj„cy przegl„d
najnowszej i najbardziej u¿ytecznej wersji jŒzyka C#. Czytaj„c j„, poznasz podstawowe
elementy i sk‡adniŒ jŒzyka, a tak¿e u¿ywane w nim struktury danych i techniki
programowania obiektowego. Dowiesz siŒ, czym jest platforma .NET, jak dzia‡a, jakie
ma mo¿liwo￿ci oraz ￿ co najwa¿niejsze ￿ jak wykorzysta￿ j„ do pisania w‡asnych
program￿w. Nauczysz siŒ obs‡ugiwa￿ bazy danych przy u¿yciu technologii ADO.NET,
tworzy￿ r￿¿norodne aplikacje sieciowe, a tak¿e stosowa￿ formularze Windows
do projektowania program￿w dla tego systemu. Zrozumiesz techniki tworzenia aplikacji
rozproszonych za pomoc„ technologii remoting.
￿ Sk‡adnia jŒzyka C#
￿ Dzia‡anie platformy .NET
￿ U¿ywanie formularzy do tworzenia efektownych interfejs￿w
￿ Praca z bazami danych w ADO.NET 2.0
￿ Tworzenie aplikacji sieciowych w ASP.NET 2.0
￿ Pisanie i konsumowanie us‡ug sieciowych
￿ Zabezpieczanie program￿w i danych
￿ Aplikacje rozproszone i technologia remoting
￿ Instalowanie aplikacji za pomoc„ technologii ClickOnce
￿ Programowanie wielow„tkowe
Je￿li chcesz nad„¿y￿ za najnowsz„ technologi„
￿ ta ksi„¿ka jest dla Ciebie
KsiŒga eksperta
 
 
 
 
 
 
 
 
 
 
 
Spis treści
O autorze .....................................................................................................17
Wstęp ............................................................................................................19
Część I Podstawy C# 2.0 ......................................................................23
Rozdział 1. Wprowadzenie do C# 2.0 ........................................................25
Czym jest .NET Framework? .............................................................................................................. 25
Ewolucja .NET .............................................................................................................................. 25
Wspólne środowisko uruchomieniowe .......................................................................................... 26
Wspólny system typów .................................................................................................................. 27
Wyrzucanie śmieci: programowanie w środowisku z mechanizmem przywracania pamięci ....... 27
Praca ze zmiennymi w C# 2.0 .............................................................................................................. 28
Wspólne typy w .NET ................................................................................................................... 28
Skrócone nazwy typów .................................................................................................................. 29
Typy wartościowe a typy referencyjne .......................................................................................... 29
Podstawowa składnia C# ..................................................................................................................... 30
Bloki kodu ..................................................................................................................................... 30
Klasyczny przykład „Witaj Świecie” ............................................................................................ 31
Co można zrobić z użyciem C#? ......................................................................................................... 32
Podsumowanie ..................................................................................................................................... 33
Rozdział 2. Wyrażenia i struktury sterujące ...............................................35
Rozgałęzianie i logika warunkowa ......................................................................................................35
Wprowadzenie do wyrażeń logicznych ......................................................................................... 35
Zastosowanie podstawowych instrukcji warunkowych ................................................................ 37
Zastosowanie zaawansowanych instrukcji warunkowych ............................................................ 39
Zapętlanie i powtarzalność .................................................................................................................. 39
Zastosowanie pętli for ................................................................................................................... 40
Zastosowanie pętli while ............................................................................................................... 40
Zastosowanie pętli do .................................................................................................................... 41
Podsumowanie ..................................................................................................................................... 41
Rozdział 3. Ciągi znaków i wyrażenia regularne .....................................43
Praca z ciągami znaków ....................................................................................................................... 43
Wprowadzenie do ciągów znaków w .NET .................................................................................. 43
Formatowanie ciągów znaków ...................................................................................................... 44
 
6
Microsoft Visual C# 2005. Księga eksperta
Manipulowanie ciągami znaków oraz ich porównywanie .............................................................47
Wprowadzenie do klasy StringBuilder ..........................................................................................49
Praca z wyrażeniami regularnymi ........................................................................................................49
Walidacja wprowadzanych danych ................................................................................................50
Wyodrębnianie wprowadzanych danych .......................................................................................50
Podsumowanie ......................................................................................................................................51
Rozdział 4. Tablice i kolekcje .................................................................... 53
Praca z tablicami ...................................................................................................................................53
Deklaracja i inicjalizacja tablic ......................................................................................................53
Stosowanie tablic jednowymiarowych ...........................................................................................54
Stosowanie tablic wielowymiarowych ...........................................................................................56
Zastosowanie tablic postrzępionych ..............................................................................................59
Praca z kolekcjami ................................................................................................................................61
Porównanie tablic i kolekcji ...........................................................................................................62
Zastosowanie klasy ArrayList ........................................................................................................62
Zastosowanie klasy Hashtable .......................................................................................................64
Zastosowanie klasy Queue .............................................................................................................65
Zastosowanie klasy Stack ..............................................................................................................67
Zastosowanie klasy SortedList .......................................................................................................67
Podsumowanie ......................................................................................................................................68
Rozdział 5. Programowanie obiektowe w C# .......................................... 69
Projektowanie obiektowe .....................................................................................................................69
Wprowadzenie do projektowania obiektowego .............................................................................69
Projektowanie klas .........................................................................................................................70
Projektowanie interfejsów ..............................................................................................................71
Programowanie obiektowe ...................................................................................................................72
Tworzenie prostej klasy .................................................................................................................72
Obsługa widoczności składowych .................................................................................................74
Zastosowanie dziedziczenia ...........................................................................................................75
Wprowadzenie do polimorfizmu ....................................................................................................77
Implementacja interfejsów .............................................................................................................78
Podsumowanie ......................................................................................................................................81
Rozdział 6. Wprowadzenie do typów ogólnych ...................................... 83
Przegląd typów ogólnych .....................................................................................................................83
Korzyści z zastosowania typów ogólnych .....................................................................................83
Wprowadzenie do parametrów typu ..............................................................................................84
Ograniczenia dla parametrów typu ................................................................................................85
Budowa typów ogólnych ......................................................................................................................87
Tworzenie klas ogólnych ...............................................................................................................87
Tworzenie metod ogólnych ............................................................................................................87
Tworzenie interfejsów ogólnych ....................................................................................................89
Zastosowanie kolekcji ogólnych ..........................................................................................................90
Zastosowanie klasy Dictionary ......................................................................................................90
Zastosowanie klasy List .................................................................................................................90
Zastosowanie klasy Queue .............................................................................................................91
Zastosowanie klasy Stack ..............................................................................................................91
Podsumowanie ......................................................................................................................................92
Spis treści
7
Część II Podstawowe wiadomości o .NET Framework 2.0 ................93
Rozdział 7. Wejście/wyjście i trwałość ......................................................95
Wprowadzenie do strumieni ................................................................................................................ 95
Zastosowanie strumieni pamięciowych ......................................................................................... 96
Wprowadzenie do podstawowych operacji wejścia/wyjścia na plikach .............................................. 99
Tworzenie plików i dopisywanie do nich ...................................................................................... 99
Odczyt z istniejących plików ....................................................................................................... 100
Operacje na katalogach i systemie plików .................................................................................. 101
Zastosowanie asynchronicznych operacji wejścia/wyjścia na plikach .............................................. 103
Praca z pamięcią izolowaną ............................................................................................................... 104
Podsumowanie ................................................................................................................................... 106
Rozdział 8. Praca z XML ............................................................................107
Odczyt i zapis dokumentów XML ..................................................................................................... 107
Zapytania do XML z użyciem XPath ................................................................................................ 111
Przekształcanie dokumentów z użyciem XSLT ................................................................................ 113
Walidacja dokumentów z użyciem XSD ........................................................................................... 115
Podsumowanie ................................................................................................................................... 117
Rozdział 9. Zdarzenia i delegaty ..............................................................119
Wprowadzenie do delegatów ............................................................................................................. 119
Kowariancja i kontrawariancja .................................................................................................... 121
Zastosowanie metod anonimowych ................................................................................................... 122
Tworzenie delegatów zbiorowych ..................................................................................................... 124
Wprowadzenie do zdarzeń ................................................................................................................. 126
Zaawansowane programowanie oparte na zdarzeniach ..................................................................... 128
Podsumowanie ................................................................................................................................... 133
Rozdział 10. Programowanie wielowątkowe ..........................................135
Podstawy programowania wielowątkowego ...................................................................................... 135
Pierwsza aplikacja wielowątkowa ..................................................................................................... 138
Tworzenie i uruchamianie wątku ................................................................................................ 138
Zakończenie wątku ...................................................................................................................... 139
Zawieszanie wątku ...................................................................................................................... 141
Usypianie wątku .......................................................................................................................... 141
Dołączanie do wątku ................................................................................................................... 141
Synchronizacja wątków i ich rywalizacja o zasoby ........................................................................... 142
Zastosowanie słowa kluczowego lock ......................................................................................... 143
Zastosowanie klasy Mutex .......................................................................................................... 144
Zastosowanie klasy Monitor ........................................................................................................ 146
Zastosowanie klasy Interlocked ................................................................................................... 147
Zastosowanie klasy ReaderWriterLock ....................................................................................... 147
Praca z ręcznym i automatycznym resetowaniem zdarzeń .......................................................... 149
Zastosowanie klasy ThreadPool ........................................................................................................ 151
Podsumowanie ................................................................................................................................... 152
Rozdział 11. Podstawowe zasady refleksji ..............................................153
Wprowadzenie do refleksji ................................................................................................................ 153
Praca z informacjami o metodach ...................................................................................................... 155
Praca z informacjami o składowych .................................................................................................. 157
8
Microsoft Visual C# 2005. Księga eksperta
Badanie zdarzeń ..................................................................................................................................160
Tworzenie i badanie atrybutów kodu użytkownika ............................................................................161
Podsumowanie ....................................................................................................................................163
Rozdział 12. Zestawy i domeny aplikacji ................................................ 165
Wprowadzenie do zestawów ..............................................................................................................165
Zestawy — co się za tym kryje? .........................................................................................................166
Manifest zestawu ..........................................................................................................................167
Budowa i zastosowanie zestawów ......................................................................................................168
Przechowywanie i wyszukiwanie zasobów zestawów .......................................................................170
Lokalizacja i zestawy satelickie .........................................................................................................172
Wprowadzenie do domen aplikacji ....................................................................................................174
Programowanie z użyciem klasy AppDomain ...................................................................................176
Podsumowanie ....................................................................................................................................177
Rozdział 13. Współoperatywność Windows i COM ................................ 179
Wprowadzenie do zagadnienia współoperatywności w C# ...............................................................179
Zastosowanie obiektów COM z poziomu platformy .NET ................................................................180
Zastosowanie zestawów PIA (Primary InterOp Assembly) .........................................................181
Zastosowanie klas .NET z poziomu COM .........................................................................................183
Uzyskiwanie dostępu do kodu umieszczonego w niezarządzanych bibliotekach DLL .....................186
Podsumowanie ....................................................................................................................................189
Rozdział 14. Zabezpieczenia dostępu kodu ........................................... 191
Wprowadzenie do zabezpieczeń dostępu kodu ..................................................................................191
Zastosowanie polityki bezpieczeństwa i administrowanie nią ...........................................................192
Administrowanie zabezpieczeniami dostępu kodu ......................................................................194
Zastosowanie zabezpieczeń programowych .......................................................................................195
Programowe wymuszanie tożsamości ..........................................................................................198
Zastosowanie zabezpieczeń deklaratywnych .....................................................................................200
Podsumowanie ....................................................................................................................................201
Rozdział 15. Kryptografia i ochrona danych .......................................... 203
Wprowadzenie do kryptografii ...........................................................................................................203
Szyfrowanie z kluczem tajnym ....................................................................................................204
Szyfrowanie z kluczem publicznym ............................................................................................204
Tworzenie skrótów danych ..........................................................................................................205
Podpisy cyfrowe ...........................................................................................................................206
Zastosowanie szyfrowania z kluczem tajnym ....................................................................................206
Zastosowanie szyfrowania z kluczem publicznym ............................................................................208
Praca ze skrótami i podpisami cyfrowymi ..........................................................................................210
Zastosowanie API zabezpieczania danych (DPAPI) ..........................................................................212
Podsumowanie ....................................................................................................................................215
Rozdział 16. Optymalizacja kodu .NET 2.0 .............................................. 217
Pojęcia pakowania oraz rozpakowywania ..........................................................................................217
Zastosowanie odpowiednich technik manipulowania ciągami znaków .............................................219
Konstrukcja efektywnej pętli ..............................................................................................................220
Skracanie czasu rozruchu aplikacji ....................................................................................................221
Profilowanie kodu z zastosowaniem narzędzia Performance Wizard ................................................222
Podsumowanie ....................................................................................................................................226
Zgłoś jeśli naruszono regulamin