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. Kociuszki 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¿liwoci platformy .NET
Wykorzystaj formularze do tworzenia efektownych interfejsw 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#, ktry zosta‡ zaprojektowany specjalnie w tym celu; to jŒzyk u‡atwiaj„cy
wygodne korzystanie z niesamowitych mo¿liwoci .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¿liwoci po‡„czone z ‡atwoci„ nauki
sprawiaj„, ¿e jŒzyk C# to doskona‡y wybr zarwno dla pocz„tkuj„cych,
jak i dowiadczonych programistw.
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¿liwoci oraz co najwa¿niejsze jak wykorzysta j„ do pisania w‡asnych
programw. 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 programw 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 interfejsw
Praca z bazami danych w ADO.NET 2.0
Tworzenie aplikacji sieciowych w ASP.NET 2.0
Pisanie i konsumowanie us‡ug sieciowych
Zabezpieczanie programw i danych
Aplikacje rozproszone i technologia remoting
Instalowanie aplikacji za pomoc„ technologii ClickOnce
Programowanie wielow„tkowe
Jeli chcesz nad„¿y za najnowsz„ technologi„
ta ksi„¿ka jest dla Ciebie
KsiŒga eksperta
400256316.001.png 400256316.002.png 400256316.003.png 400256316.004.png
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