Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00366 005437 13647685 na godz. na dobę w sumie
C# 3.0 dla .NET 3.5. Księga eksperta - książka
C# 3.0 dla .NET 3.5. Księga eksperta - książka
Autor: Liczba stron: 1112
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-2141-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> c# - programowanie
Porównaj ceny (książka, ebook, audiobook).

Kompletne źródło wiedzy na temat C# i .NET!

C# to jeden z głównych języków, który możesz wykorzystać jeżeli chcesz tworzyć rozwiązania dla platformy .NET. Jego najnowsza wersja 3.0 wniosła wiele nowości takich jak: 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 wiedzy 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 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!


Joe Mayo - znawca platformy .NET, właściciel firmy tworzącej własne rozwiązania o nią oparte. Jego wieloletnie zaangażowanie w społecznościach programistów zostało nieraz docenione - wielokrotnie uzyskiwał tytuł Most Valuable Professional (MVP). Prowadzi serwis internetowy http://www.csharp-station.com/.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

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 Rozdział 1. Wprowadzenie do platformy .NET ............................................................. 39 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ł 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 Rozdział 8. Projektowanie obiektów .......................................................................... 207 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ł 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 Spis treści Modyfikatory dostępu do obiektów ................................................................................. 235 Zawieranie i dziedziczenie ................................................................................................ 236 Polimorfizm ............................................................................................................................... 237 Rozpoznawanie problemów rozwiązywanych przez polimorfizm ............................. 238 Rozwiązywanie problemów za pomocą polimorfizmu ................................................. 241 Właściwości polimorficzne ............................................................................................... 243 Indeksatory polimorficzne ................................................................................................ 244 Przesłanianie elementów klasy System.Object ............................................................... 245 Podsumowanie ........................................................................................................................... 247 Rozdział 10. Metody kodowania i operatory tworzone przez użytkownika ............. 249 Metody ........................................................................................................................................ 250 Definiowanie metod ........................................................................................................... 250 Zmienne lokalne ................................................................................................................. 251 Parametry metod ................................................................................................................ 253 Przeciążanie metod ................................................................................................................... 260 Przeciążanie operatorów .......................................................................................................... 262 Przeciążanie operatorów matematycznych dla typów tworzonych przez użytkownika ................................................................... 262 Przeciążanie operatorów logicznych dla typów tworzonych przez użytkownika ..... 265 Inne wskazówki związane z przeciążaniem operatorów .............................................. 266 Konwersje i przeciążanie operatorów konwersji .................................................................. 268 Konwersje niejawne i jawne .............................................................................................. 268 Operatory konwersji typów wartościowych stworzonych przez użytkownika ......... 271 Operatory konwersji typów referencyjnych stworzonych przez użytkownika ......... 275 Metody częściowe ...................................................................................................................... 276 Metody rozszerzające ................................................................................................................ 278 Podsumowanie ........................................................................................................................... 279 Rozdział 11. Obsługa błędów i wyjątków ..................................................................... 281 Dlaczego używa się obsługi wyjątków? .................................................................................. 282 Składnia procedury obsługi wyjątku: podstawowy blok try/catch ..................................... 283 Zapewnianie zwalniania zasobów przy użyciu bloków finally ........................................... 285 Obsługa wyjątków ..................................................................................................................... 286 Obsługa różnych typów wyjątków ................................................................................... 286 Obsługa i przekazywanie wyjątków ................................................................................. 287 Powrót ze stanu wyjątku .................................................................................................... 290 Tworzenie wyjątków przez użytkownika ............................................................................... 293 Instrukcje checked i unchecked .............................................................................................. 295 Podsumowanie ........................................................................................................................... 297 Rozdział 12. Programowanie oparte na zdarzeniach: obiekty delegowane i zdarzenia .............................................................. 299 Udostępnianie delegacji ............................................................................................................ 301 Definiowanie delegacji ....................................................................................................... 301 Tworzenie metod obsługujących delegacje .................................................................... 302 Łączenie delegacji i metod obsługujących ...................................................................... 302 11 Spis treści Wykonywanie metod poprzez delegacje ......................................................................... 303 Delegacje wielozakresowe ................................................................................................. 303 Sprawdzanie równości delegacji ....................................................................................... 306 Implementacja wnioskowania delegacji ................................................................................. 307 Przypisywanie metod anonimowych ...................................................................................... 307 Kodowanie zdarzeń ................................................................................................................... 309 Definiowanie procedur obsługi zdarzeń ......................................................................... 310 Rejestrowanie zdarzeń ....................................................................................................... 311 Implementacja zdarzeń ..................................................................................................... 312 Uruchamianie zdarzeń ...................................................................................................... 314 Modyfikacja metod zdarzeń Add i Remove ................................................................... 316 Podsumowanie ........................................................................................................................... 321 Rozdział 13. Nazewnictwo i organizacja typów w przestrzeniach nazw ................... 323 Dlaczego przestrzenie nazw muszą istnieć? .......................................................................... 324 Organizowanie kodu .......................................................................................................... 325 Unikanie konfliktów .......................................................................................................... 325 Dyrektywy przestrzeni nazw .................................................................................................... 326 Dyrektywa using ................................................................................................................. 326 Dyrektywa alias ................................................................................................................... 327 Tworzenie przestrzeni nazw .................................................................................................... 329 Składowe przestrzeni nazw ...................................................................................................... 333 Zasięg i widoczność ................................................................................................................... 333 Kwalifikatory związane z synonimem przestrzeni nazw ..................................................... 335 Synonimy zewnętrznych przestrzeni nazw ............................................................................ 336 Podsumowanie ........................................................................................................................... 338 Rozdział 14. Implementacja klas abstrakcyjnych i interfejsów .................................. 339 Klasy abstrakcyjne ..................................................................................................................... 340 Różnice między klasami abstrakcyjnymi a interfejsami ...................................................... 343 Implementacja interfejsów ....................................................................................................... 343 Definiowanie typów interfejsów ............................................................................................. 344 Metody ................................................................................................................................. 345 Właściwości ......................................................................................................................... 345 Indeksatory .......................................................................................................................... 345 Zdarzenia ............................................................................................................................. 346 Implementacja niejawna .......................................................................................................... 346 Implementacja interfejsu dla pojedynczej klasy ............................................................ 346 Symulowanie zachowania polimorficznego ................................................................... 350 Implementacja jawna ................................................................................................................ 355 Odwzorowanie interfejsu ......................................................................................................... 361 Dziedziczenie interfejsu ............................................................................................................ 363 Podsumowanie ........................................................................................................................... 365 12 Spis treści Część III Używanie zaawansowanych funkcji języka C# .................. 367 Rozdział 15. Zarządzanie czasem życia obiektu .......................................................... 369 Inicjalizacja obiektów ................................................................................................................ 370 Konstruktory instancyjne .................................................................................................. 371 Przeciążanie konstruktorów ............................................................................................. 372 Konstruktory domyślne ..................................................................................................... 374 Konstruktory prywatne ..................................................................................................... 374 Dziedziczenie i kolejność konkretyzacji .......................................................................... 375 Konstruktory statyczne ...................................................................................................... 379 Inicjalizatory obiektów ............................................................................................................. 380 Finalizacja obiektów .................................................................................................................. 381 Automatyczne zarządzanie pamięcią ..................................................................................... 382 Przydzielanie pamięci ........................................................................................................ 383 Wewnętrzna organizacja mechanizmu oczyszczania pamięci .................................... 384 Optymalizacja mechanizmu oczyszczania pamięci ....................................................... 385 Właściwe zwalnianie zasobów ................................................................................................. 386 Problemy z finalizatorami ................................................................................................. 387 Wzorzec Dispose ................................................................................................................ 387 Instrukcja using .................................................................................................................. 389 Współpraca z mechanizmem oczyszczania pamięci ............................................................ 390 Sterowanie obiektami ......................................................................................................... 390 Podsumowanie ........................................................................................................................... 392 Rozdział 16. Deklarowanie atrybutów i testowanie kodu za pomocą mechanizmów refleksji .......................................................... 393 Użycie atrybutów ....................................................................................................................... 394 Użycie pojedynczego atrybutu ......................................................................................... 395 Użycie wielu atrybutów ..................................................................................................... 396 Użycie parametrów atrybutów ................................................................................................ 396 Parametry pozycyjne .......................................................................................................... 397 Parametry nazwane ............................................................................................................ 398 Obiekty docelowe atrybutu ...................................................................................................... 398 Tworzenie własnych atrybutów .............................................................................................. 400 Atrybut AttributeUsage ..................................................................................................... 400 Użycie mechanizmu refleksji ................................................................................................... 404 Uzyskiwanie informacji o programie .............................................................................. 404 Wykorzystanie refleksji dla atrybutów ................................................................................... 410 Dynamiczne aktywowanie kodu ...................................................................................... 411 Tworzenie pakietów kodu w trakcie działania programu przy użyciu API Reflection.Emit ................................................................................................................. 413 Podsumowanie ........................................................................................................................... 417 13 Spis treści Rozdział 17. Parametryzowanie typów poprzez szablony klas i tworzenie iteratorów .............................................................................. 419 Kolekcje bezszablonowe ........................................................................................................... 420 Korzyści ze stosowania szablonów .......................................................................................... 421 Problemy rozwiązywane przez stosowanie szablonów ................................................. 422 Szablony są zorientowane obiektowo .............................................................................. 425 Dokonywanie wyboru między tablicami, kolekcjami bezszablonowymi i kolekcjami szablonowymi ............................................................................................ 426 Tworzenie typów szablonowych ............................................................................................. 428 Implementacja listy jednokierunkowej za pomocą szablonów ................................... 428 Używanie szablonów poza kolekcjami ............................................................................ 436 Definiowanie typu za pomocą szablonów ...................................................................... 439 Implementacja iteratorów ........................................................................................................ 443 Iterator GetEnumerator .................................................................................................... 444 Iteratory metod ................................................................................................................... 446 Iteratory właściwości .......................................................................................................... 446 Iteratory indeksatorów ...................................................................................................... 447 Iterator operatora ............................................................................................................... 449 Iteratory jako ciągi wartości .............................................................................................. 450 Zwalnianie iteratorów ........................................................................................................ 451 Podsumowanie ........................................................................................................................... 452 Rozdział 18. Wyrażenia lambda i drzewa wyrażeń ...................................................... 453 Wyrażenia lambda ..................................................................................................................... 454 Składnia wyrażeń lambda .................................................................................................. 454 Użycie wyrażeń lambda ..................................................................................................... 455 Delegacje i wyrażenia lambda ........................................................................................... 456 Drzewa wyrażeń ......................................................................................................................... 461 Przekształcanie wyrażenia lambda na drzewo wyrażeń ................................................ 461 Przekształcanie drzewa wyrażeń na wyrażenie lambda ................................................ 462 Podsumowanie ........................................................................................................................... 463 Część IV Dostęp do danych przy użyciu LINQ i platformy .NET ....... 465 Rozdział 19. Dostęp do danych z wykorzystaniem LINQ ............................................ 467 Technologia LINQ to Objects .................................................................................................. 469 Podstawowa składnia LINQ .............................................................................................. 469 Wyodrębnianie projekcji ................................................................................................... 470 Filtrowanie danych ............................................................................................................. 471 Sortowanie wyników zapytania ........................................................................................ 472 Grupowanie danych ........................................................................................................... 472 Łączenie danych .................................................................................................................. 472 Tworzenie hierarchii za pomocą grupowania połączeń ............................................... 473 Wykonywanie zapytań do baz relacyjnych za pomocą technologii LINQ to SQL .......... 474 Definiowanie kontekstu danych DataContext ............................................................... 474 Zapytania przy użyciu DataContext ................................................................................ 478 14 Spis treści Modyfikacja obiektów DataContext ................................................................................ 478 Wywołanie procedur składowanych ............................................................................... 480 Użycie funkcji SQL ............................................................................................................. 481 Modyfikowanie bazy danych za pomocą procedur składowanych ............................. 481 Modyfikacja logiki obsługi danych poprzez użycie metod częściowych .................... 484 Standardowe operatory zapytań .............................................................................................. 488 Operatory sortujące ............................................................................................................ 488 Operatory ustawiania ......................................................................................................... 489 Operatory filtrujące ............................................................................................................ 491 Operatory kwantyfikatorów .............................................................................................. 492 Operatory projekcji ............................................................................................................ 492 Operatory partycjonowania .............................................................................................. 493 Operatory łączenia ............................................................................................................. 494 Operatory grupowania ....................................................................................................... 495 Operatory generujące ......................................................................................................... 495 Operatory równości ........................................................................................................... 496 Operatory elementarne ...................................................................................................... 497 Operatory konwersji .......................................................................................................... 498 Operator wiązania .............................................................................................................. 498 Operatory agregacji ............................................................................................................ 499 Podsumowanie ........................................................................................................................... 500 Rozdział 20. Zarządzanie danymi z wykorzystaniem ADO.NET ................................. 501 Architektura ADO.NET ........................................................................................................... 502 Komponenty ADO.NET ................................................................................................... 502 Tryby otwartego i zamkniętego połączenia .................................................................... 504 Dostawcy danych ................................................................................................................ 505 Wykonywanie połączeń ............................................................................................................ 507 Przeglądanie danych ................................................................................................................. 508 Modyfikacja danych .................................................................................................................. 512 Wstawianie danych ............................................................................................................ 512 Aktualizacja danych ........................................................................................................... 512 Usuwanie danych ............................................................................................................... 513 Wywoływanie procedur składowanych ................................................................................. 514 Obsługa danych w trybie autonomicznym ............................................................................ 514 Wczytywanie danych do obiektu DataSet ...................................................................... 515 Zapisywanie modyfikacji DataSet do bazy danych ....................................................... 516 Użycie LINQ to DataSet ........................................................................................................... 519 Obiekty DataTable jako źródła danych ........................................................................... 520 Dostęp do pól przy zachowaniu ścisłej kontroli typów ................................................ 520 Podsumowanie ........................................................................................................................... 521 Rozdział 21. Przetwarzanie danych w formacie XML .................................................. 523 Przesyłanie strumieniowe danych XML ................................................................................ 524 Zapisywanie danych XML ........................................................................................................ 525 Odczytywanie danych XML ..................................................................................................... 527 15 Spis treści Użycie XML DOM .................................................................................................................... 528 Odczytywanie dokumentu XML przy użyciu XPathDocument ................................. 529 Modyfikacja dokumentu XML przy użyciu XmlDocument ........................................ 530 Prostszy sposób przetwarzania danych przy wykorzystaniu LINQ to XML .................... 531 Obiekty LINQ to XML ....................................................................................................... 531 Tworzenie dokumentów XML ......................................................................................... 531 Obsługa przestrzeni nazw dla LINQ to XML ................................................................. 533 Odczytywanie dokumentów XML ................................................................................... 534 Wykonywanie zapytań dla dokumentów XML ............................................................. 534 Modyfikacja dokumentów XML ...................................................................................... 535 Podsumowanie ........................................................................................................................... 536 Rozdział 22. Dostęp do danych za pomocą ADO.NET Entity Framework .................. 537 Encje ............................................................................................................................................ 539 Tworzenie modelu EDM (Entity Data Model) w Visual Studio 2008 ............................... 539 Tworzenie zapytań za pomocą Entity SQL ............................................................................ 543 Dostęp do encji ................................................................................................................... 543 Wybieranie danych z encji ................................................................................................ 544 Tworzenie własnych encji ........................................................................................................ 545 Schematy i odwzorowania ................................................................................................. 546 Dodawanie własnych encji ................................................................................................ 547 Wykorzystanie implementacji LINQ to Entities .................................................................. 550 Kwerendy do encji .............................................................................................................. 550 Modyfikowanie danych encji ............................................................................................ 551 Podsumowanie ........................................................................................................................... 552 Rozdział 23. Dostęp do danych w sieci za pośrednictwem usług ADO.NET Data Services .................................. 555 Dodanie usług ADO.NET Data Services do projektu .......................................................... 556 Dostęp do usług ADO.NET Data Services za pośrednictwem HTTP i URI .................... 558 Wyświetlanie zestawów encji ............................................................................................ 558 Wybieranie elementów encji ............................................................................................ 558 Filtrowanie wyników .......................................................................................................... 561 Sortowanie encji .................................................................................................................. 563 Używanie powiązań encji .................................................................................................. 563 Tworzenie kodu z biblioteką ADO.NET Data Services Client Library ............................. 565 Tworzenie projektu klienta ............................................................................................... 565 Wykonywanie zapytań do encji za pomocą WebDataQuery ...................................... 565 Dodawanie encji ................................................................................................................. 567 Aktualizacja encji ................................................................................................................ 568 Usuwanie encji .................................................................................................................... 569 Tworzenie zapytań z wykorzystaniem LINQ dla usług danych .................................. 569 Wykorzystanie klas wygenerowanych za pomocą narzędzia DataSvcUtil.exe ......... 570 Podsumowanie ........................................................................................................................... 571 16 Spis treści Część V Tworzenie interfejsów użytkownika .................................. 573 Rozdział 24. Interfejs użytkownika w aplikacjach konsolowych ............................... 575 Aplikacja PasswordGenerator ................................................................................................. 576 Komunikacja programu z użytkownikiem ............................................................................ 577 Obsługa z wiersza poleceń ........................................................................................................ 578 Dodawanie koloru i pozycjonowanie elementów w oknie konsoli .................................... 579 Podsumowanie ........................................................................................................................... 582 Rozdział 25. Tworzenie aplikacji w oparciu o formularze Windows Forms ............... 583 Formularze Windows Forms — informacje podstawowe ................................................... 584 Tworzenie aplikacji Windows Forms Application w VS2008 ............................................ 588 Wizualne projektowanie interfejsu w środowisku VS2008 .......................................... 588 Pliki aplikacji Windows Forms Application .................................................................. 590 Środowisko Windows Forms Designer ........................................................................... 590 Kontrolki dostępne w Windows Forms ................................................................................. 597 Kontrolki MenuStrip, StatusStrip i ToolStrip ....................................................................... 600 Prezentacja danych za pomocą kontrolek DataGrid i DataBind ....................................... 601 Przygotowanie projektu dla prezentacji danych ............................................................ 602 Wyświetlanie danych za pomocą kontrolki ListBox ..................................................... 603 Wyświetlanie danych za pomocą kontrolki DataGridView ......................................... 603 Podstawy GDI+ ......................................................................................................................... 605 Obiekty Brush, Pen, Graphics — pędzel, ołówek i rysunek ......................................... 605 Wyświetlanie tekstu i czcionki ......................................................................................... 606 Pozostałe okna dialogowe ........................................................................................................ 608 Okna modalne i niemodalne ............................................................................................ 608 Komunikacja między oknami ........................................................................................... 610 Pozostałe predefiniowane okna dialogowe ..................................................................... 612 Podsumowanie ........................................................................................................................... 614 Rozdział 26. Tworzenie aplikacji Windows Presentation Foundation (WPF) ............ 615 Język XAML ............................................................................................................................... 616 Wprowadzenie do aplikacji WPF .................................................................................... 617 Podstawy XAML ................................................................................................................. 618 Kontrolki w XAML ............................................................................................................ 619 Rozmieszczanie elementów w tworzonym oknie ................................................................. 621 Rozmieszczanie kontrolek i określanie ich rozmiarów ................................................. 621 Powierzchnia Canvas ......................................................................................................... 622 Powierzchnia WrapPanel .................................................................................................. 623 Powierzchnia StackPanel ................................................................................................... 623 Powierzchnia UniformGrid .............................................................................................. 624 Powierzchnia Grid .............................................................................................................. 625 Powierzchnia DockPanel ................................................................................................... 628 Kontrolki WPF ........................................................................................................................... 629 Kontrolka Border ................................................................................................................ 629 Kontrolka Button ................................................................................................................ 630 17 Kontrolka CheckBox .......................................................................................................... 630 Kontrolka ComboBox ........................................................................................................ 630 Kontrolka ContentControl ............................................................................................... 630 Kontrolka DockPanel ........................................................................................................ 631 Kontrolka DocumentViewer ............................................................................................ 631 Kontrolka Ellipse ................................................................................................................ 632 Kontrolka Expander ........................................................................................................... 632 Kontrolka Frame ................................................................................................................ 633 Kontrolka Grid .................................................................................................................... 633 Kontrolka GridSplitter ....................................................................................................... 633 Kontrolka GroupBox ......................................................................................................... 634 Kontrolka Image ................................................................................................................. 634 Kontrolka Label .................................................................................................................. 634 Kontrolka ListBox .............................................................................................................. 635 Kontrolka ListView ............................................................................................................ 635 Kontrolka MediaElement .................................................................................................. 635 Kontrolka Menu ................................................................................................................. 635 Kontrolka PasswordBox .................................................................................................... 636 Kontrolka ProgressBar ....................................................................................................... 636 Kontrolka RadioButton ..................................................................................................... 636 Kontrolka Rectangle ........................................................................................................... 637 Kontrolka RichTextBox ..................................................................................................... 637 Kontrolka ScrollBar ............................................................................................................ 637 Kontrolka ScrollViewer ..................................................................................................... 637 Kontrolka Separator ........................................................................................................... 638 Kontrolka Slider .................................................................................................................. 638 Kontrolka StackPanel ......................................................................................................... 639 Kontrolka StatusBar ........................................................................................................... 639 Kontrolka TabControl ....................................................................................................... 639 Kontrolka TextBlock .......................................................................................................... 639 Kontrolka TextBox ............................................................................................................. 640 Kontrolka ToolBar ............................................................................................................. 640 Kontrolka ToolBarPanel .................................................................................................... 640 Kontrolka ToolBarTray ..................................................................................................... 641 Kontrolka TreeView ........................................................................................................... 641 Kontrolka UniformGrid .................................................................................................... 641 Kontrolka Viewbox ............................................................................................................ 642 Kontrolka WindowsFormsHost ....................................................................................... 642 Kontrolka WrapPanel ........................................................................................................ 643 Obsługa zdarzeń ........................................................................................................................ 643 Powiązanie kontrolek z danymi .............................................................................................. 644 Przekazywanie danych ....................................................................................................... 644 Wyświetlanie listy danych ................................................................................................. 645 Style i formatowanie kontrolek ............................................................................................... 649 Podsumowanie .........................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

C# 3.0 dla .NET 3.5. Księga eksperta
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: