Helion - Microsoft Visual Studio 2012. Programowanie w C#.pdf

(56141 KB) Pobierz
C4V*
M
Microsoft
Visual Studio 2012
Programowanie w C#
Visual Studio i język C# — potężny duet w rękach programisty!
Opanuj Visual Studio 2012 i platformę NET — narzędzia do tworzenia aplikacji
Odkryj niezwykłe możliwości obiektow ego języka programowania C#
Poznaj zaawansowane zagadnienia programowania obiektowego, podstawy obsługi
sieci oraz Asembler IL
Spis treści
Rozdział 1.
W s t ę p ................................................................................................................. 9
1.1. O języku C# i platformie .NET................................................................................... 9
1.2. Podstawowe pojęcia ................................................................................................... 9
1.3. Potrzebne narzędzia...................................................................................................10
Rozdział 2.
M icrosoft Visual Studio 20 1 2 ..................................................................... 11
2.1. Co nowego? ...............................................................................................................12
2.2. Instalacja....................................................................................................................12
2.3. Konfiguracja..............................................................................................................14
Pasek obsługi odpluskwiania.................................................................................... 14
Numerowanie wierszy .............................................................................................. 14
2.4. Tworzenie nowego projektu ..................................................................................... 15
2.5. Kompilacja i uruchamianie....................................................................................... 15
2.6. Odpluskwianie (ang. Debugging) ............................................................................. 15
Błędy procesu kompilacji ......................................................................................... 15
Błędy pokompilacyjne.............................................................................................. 16
2.7. Okna, menu i paski narzędzi..................................................................................... 16
Okna ........................................................................................................................ 16
Górne menu ...............................................................................................................16
Paski narzędzi............................................................................................................17
2.8. Składniki pakietu.......................................................................................................17
2.9. Projektowanie diagramów U M L............................................................................... 18
Rozdział 3.
Język C#. Podstawy ......................................................................................19
3.1. Struktura kodu źródłowego....................................................................................... 19
3.2. Komentarze............................................................................................................... 20
Komentarz blokowy ................................................................................................. 20
Komentarz liniowy ................................................................................................... 20
Komentarz XML ...................................................................................................... 20
3.3. Program „Witaj, świecie!” ........................................................................................ 21
3.4. Typy danych ............................................................................................................. 21
Typy proste............................................................................................................... 21
Typy referencyjne..................................................................................................... 22
Typ strukturalny ....................................................................................................... 24
Typ wyliczeniowy .................................................................................................... 24
Rzutowanie i konwersja typów .................................................................................24
3.5. Proste operacje wejścia/wyjścia................................................................................25
ebook4all
4
Microsoft Visual Studio 2012. Programowanie w C#
Wyświetlanie danych................................................................................................ 25
Pobieranie danych .................................................................................................... 26
3.6. Preprocesor............................................................................................................... 26
Dyrektywa # if ........................................................................................................... 26
Dyrektywa #else ....................................................................................................... 27
Dyrektywa # e lif........................................................................................................ 27
Dyrektywa #endif..................................................................................................... 27
Dyrektywa #define ................................................................................................... 27
Dyrektywa #undef.................................................................................................... 28
Dyrektywa #warning ................................................................................................ 28
Dyrektywa #error...................................................................................................... 28
Dyrektywa #line ....................................................................................................... 28
Dyrektywa #region ................................................................................................... 29
Dyrektywa #endregion .............................................................................................29
Dyrektywa #pragma warning ...................................................................................29
3.7. Zmienne i stałe ......................................................................................................... 30
3.8. Stos i sterta ............................................................................................................... 31
Wydajność ................................................................................................................ 31
3.9. Instrukcja warunkowa i f ........................................................................................... 32
3.10. Instrukcja wyboru sw itch.......................................................................................... 34
3.11. Operatory .................................................................................................................. 35
Podstawowe.............................................................................................................. 36
Jednoargumentowe ................................................................................................... 38
Mnożenie, dzielenie i modulo...................................................................................40
Przesunięcia.............................................................................................................. 40
Relacje i sprawdzanie typów ....................................................................................41
Równość i różność.................................................................................................... 42
Koniunkcja logiczna................................................................................................. 42
Alternatywa wykluczająca logiczna .........................................................................42
Alternatywa logiczna................................................................................................ 42
Koniunkcja warunkowa............................................................................................ 43
Alternatywa warunkowa........................................................................................... 43
Operator warunkowy ............................................................................................... 43
Przypisania .............................................................................................................. 43
3.12. Pętle .......................................................................................................................... 45
Pętla do-while........................................................................................................... 45
Pętla for .................................................................................................................... 45
Pętla foreach ............................................................................................................ 48
Pętla while ............................................................................................................... 49
Kontrola przepływu ................................................................................................. 49
3.13. Argumenty wiersza poleceń...................................................................................... 52
3.14. M etody...................................................................................................................... 53
Deklaracja metod ..................................................................................................... 53
Przekazywanie przez referencję lub przez wartość .................................................. 54
3.15. Tablice ...................................................................................................................... 55
Przekazywanie tablic jako argumentów metod ........................................................ 56
Klasa System.Array ................................................................................................. 57
3.16. Wskaźniki ................................................................................................................. 60
Kod nienadzorowany (ang. unsafe code)..................................................................60
Typy wskaźnikowe .................................................................................................. 61
ebook4all
Spis treści
5
Rozdział 4.
Język C#. Programowanie obiektowe ........................................................63
4.1. Klasy i obiekty ......................................................................................................... 63
Słowo kluczowe this ................................................................................................ 65
4.2. Konstruktor i destruktor............................................................................................ 66
4.3. Dziedziczenie ........................................................................................................... 67
Klasy zagnieżdżone .................................................................................................. 68
4.4. Modyfikatory dostępu............................................................................................... 69
Słowo kluczowe readonly......................................................................................... 70
Pola powinny być prywatne...................................................................................... 70
4.5. Wczesne i późne wiązanie ........................................................................................ 71
Wczesne wiązanie vs późne wiązanie.......................................................................71
Opakowywanie zmiennych....................................................................................... 72
4.6. Przeciążanie m etod................................................................................................... 72
4.7. Przeciążanie operatorów........................................................................................... 73
Słowa kluczowe implicit i explicit............................................................................75
4.8. Statyczne metody i po la ............................................................................................ 76
4.9. Klasy abstrakcyjne i zapieczętowane........................................................................77
4.10. Serializacja................................................................................................................ 78
Użyteczność serializacji ........................................................................................... 79
Zapis obiektu do pliku XML .................................................................................... 79
Odczyt obiektu z pliku XML .................................................................................... 79
4.11. Przestrzenie nazw ..................................................................................................... 80
4.12. Właściwości.............................................................................................................. 82
4.13. Interfejsy ................................................................................................................... 83
Płytka i głęboka kopia obiektu ................................................................................. 84
4.14. Indeksery .................................................................................................................. 86
4.15. Polimorfizm.............................................................................................................. 88
Składowe wirtualne ................................................................................................. 91
Ukrywanie składowych klasy bazowej .....................................................................92
Zapobieganie przesłanianiu wirtualnych składowych klasy pochodnej ................... 92
Dostęp do wirtualnych składowych klasy bazowej z klas pochodnych................... 93
Przesłanianie metody ToString() .............................................................................. 94
4.16. Delegaty.....................................................................................................................94
Metody anonimowe .................................................................................................. 95
Wyrażenia lambda .................................................................................................... 96
Delegat Func ............................................................................................................. 97
4.17. Zdarzenia .................................................................................................................. 98
4.18. Metody rozszerzające ............................................................................................... 98
4.19. Kolekcje.....................................................................................................................99
Wybieranie klasy kolekcji ...................................................................................... 100
Klasa Queue ............................................................................................................101
Klasa S tack..............................................................................................................102
Klasa ArrayList .......................................................................................................103
Klasa StringCollection ........................................................................................... 103
Klasa Hashtable.......................................................................................................104
Klasa SortedList ..................................................................................................... 105
Klasa ListDictionary............................................................................................... 105
Klasa StringDictionary ........................................................................................... 106
Klasa NameObjectCollectionBase.......................................................................... 107
Klasa NameValueCollection .................................................................................. 110
4.20. Typy generyczne..................................................................................................... 111
Klasa generyczna Queue ........................................................................................ 112
Klasa generyczna S tack.......................................................................................... 113
Klasa generyczna LinkedList ................................................................................. 114
ebook4all
6
Microsoft Visual Studio 2012. Programowanie w C#
Klasa generyczna L ist............................................................................................. 115
Klasa generyczna Dictionary .................................................................................. 116
Klasa generyczna SortedDictionary........................................................................ 118
Klasa generyczna KeyedCollection........................................................................ 120
Klasa generyczna SortedList .................................................................................. 123
4.21. Kontra i kowariancja............................................................................................ 125
Rozdział 5.
Język C#. Pozostałe za g a d n ie n ia ..............................................................127
5.1. Wywoływanie funkcji przez PInvoke..................................................................... 127
5.2. Napisy (ang. Strings) .............................................................................................. 129
Deklaracja i inicjalizacja ........................................................................................ 129
Niezmienność obiektów String............................................................................... 130
Znaki specjalne........................................................................................................130
Formatowanie napisów........................................................................................... 130
Napisy częściowe ................................................................................................... 131
Dostęp do pojedynczych znaków ........................................................................... 132
Najważniejsze metody klasy String ........................................................................ 132
5.3. Arytmetyka dużych liczb ........................................................................................ 132
5.4. Arytmetyka liczb zespolonych................................................................................ 134
5.5. System plików i rejestr ........................................................................................... 134
Pliki i katalogi .........................................................................................................135
Strumienie ...............................................................................................................137
Czytelnicy i pisarze ................................................................................................ 138
Asynchroniczne operacje wejścia/wyjścia.............................................................. 139
Kompresja ...............................................................................................................139
Rejestr......................................................................................................................140
5.6. Tworzenie bibliotek................................................................................................ 141
5.7. Procesy i wątki ........................................................................................................142
Procesy .................................................................................................................. 142
Wątki .......................................................................................................................143
5.8. Obsługa błędów .......................................................................................................146
Podsumowanie.........................................................................................................147
Rozdział 6.
Tworzenie interfejsu graficznego a p lik a c ji.............................................. 149
Projektowanie interfejsu graficznego ..................................................................... 149
Wejście klawiatury ................................................................................................. 150
Wejście m yszy.........................................................................................................151
Symulowanie klawiatury i myszy ........................................................................... 151
Symulowanie klawiatury .......................................................................................152
Symulowanie m yszy............................................................................................... 152
6.5. Przeciągnij i upuść.................................................................................................. 153
6.6. Przegląd wybranych kontrolek ............................................................................... 153
6.7. Wstęp do Windows Presentation Foundation .........................................................155
Tworzenie projektu W PF........................................................................................ 155
Przykład: „Witaj, świecie WPF!” ........................................................................... 156
Rozdział 7.
Podstawy programowania sieciow ego ................................................... 159
6.1.
6.2.
6.3.
6.4.
7.1. System DNS ............................................................................................................159
7.2. Wysyłanie wiadomości e-m ail................................................................................ 160
7.3. Protokół FTP ...........................................................................................................161
Przykład: Jak wysłać plik na serwer FTP?.............................................................. 161
7.4. Gniazda (ang. Sockets) ........................................................................................... 161
ebook4all
Zgłoś jeśli naruszono regulamin