C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework - Helion
Tytuł oryginału: Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework
TÅ‚umaczenie: Piotr Rajca
ISBN: 978-83-246-6987-5
stron: 840, Format: ebook
Data wydania: 2013-10-08
Księgarnia: Helion
Cena książki: 64,50 zł (poprzednio: 129,00 zł)
Oszczędzasz: 50% (-64,50 zł)
Najlepszy podręcznik poświęcony C#!
W dzisiejszych czasach szczególnÄ… popularnoÅ›ciÄ… cieszÄ… siÄ™ jÄ™zyki programowania pozwalajÄ…ce na pisanie kodu Å‚atwego do przenoszenia miÄ™dzy platformami. Nikt nie ma czasu na pisanie kilku wersji jednej aplikacji. C# to uniwersalny jÄ™zyk, w którym bez trudu dokonasz tego dzieÅ‚a. DziÄ™ki swej elastycznoÅ›ci, wydajnoÅ›ci oraz mocnemu wsparciu spoÅ‚ecznoÅ›ci zdobyÅ‚ on uznanie programistów. Taki wybór to strzaÅ‚ w dziesiÄ…tkÄ™!
Ten rewelacyjny podrÄ™cznik jest Twoim kluczem do poznania wszystkich niuansów jÄ™zyka C# 5.0. Kolejne wydanie zostaÅ‚o zaktualizowane o wszystkie nowoÅ›ci w C#. Znajdziesz tu kompletny opis jÄ™zyka i platformy .NET. W trakcie lektury oprócz standardowych zagadnieÅ„ bÄ™dziesz mógÅ‚ sprawdzić, jak tworzyć aplikacje dla systemu Windows 8 i interfejsu Metro. Ponadto bÅ‚yskawicznie opanujesz detale zwiÄ…zane z programowaniem obiektowym, dynamicznym i statycznym okreÅ›laniem typów oraz jÄ™zykiem XAML. Książka ta jest uznanym kompendium wiedzy na temat jÄ™zyka C#. Musisz jÄ… mieć!
Dzięki tej książce:
- przygotujesz interfejs użytkownika zgodny z duchem Windows 8
- wykorzystasz wielowątkowość w platformie .NET
- poznasz podstawy programowania obiektowego
- przekonasz się, jak LINQ może ułatwić Ci życie
- opanujesz język C#
Wykorzystaj potencjał języka C#!
Osoby które kupowały "C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework", wybierały także:
- C# 9.0 w pigułce 173,87 zł, (53,90 zł -69%)
- Gray Hat C#. Język C# w kontroli i łamaniu zabezpieczeń 57,74 zł, (17,90 zł -69%)
- ASP.NET Core 6. Kurs video. Rozwijaj aplikacje webowe z Entity Framework Core 179,00 zł, (71,60 zł -60%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
- Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit 169,00 zł, (76,05 zł -55%)
Spis treści
C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework eBook -- spis treści
Wstęp (17)
1. Prezentacja C# (21)
- Dlaczego C#? (21)
- Dlaczego nie C#? (23)
- Najważniejsze cechy C# (25)
- Kod zarzÄ…dzany i CLR (27)
- Ogólność jest ważniejsza od specjalizacji (29)
- Programowanie asynchroniczne (30)
- Visual Studio (31)
- Anatomia prostego programu (33)
- Dodawanie projektów do istniejÄ…cej solucji (35)
- OdwoÅ‚ania do innych projektów (35)
- Pisanie testu jednostkowego (37)
- Przestrzenie nazw (40)
- Klasy (44)
- Punkt wejścia do programu (44)
- Testy jednostkowe (45)
- Podsumowanie (47)
2. Podstawy stosowania języka C# (49)
- Zmienne lokalne (50)
- Zakres (55)
- Instrukcje i wyrażenia (58)
- Instrukcje (59)
- Wyrażenia (60)
- Komentarze i białe znaki (65)
- Dyrektywy preprocesora (67)
- Symbole kompilacji (67)
- Dyrektywy #error oraz #warning (68)
- Dyrektywa #line (69)
- Dyrektywa #pragma (69)
- Dyrektywy #region i #endregion (70)
- Wbudowane typy danych (70)
- Typy liczbowe (71)
- Wartości logiczne (80)
- Znaki i Å‚aÅ„cuchy znaków (80)
- Object (81)
- Operatory (81)
- Sterowanie przepływem (87)
- Decyzje logiczne przy użyciu instrukcji if (87)
- Wielokrotny wybór przy użyciu instrukcji switch (89)
- Pętle: while oraz do (91)
- Pętle znane z języka C (92)
- Przeglądanie kolekcji przy użyciu pętli foreach (93)
- Podsumowanie (94)
3. Typy (95)
- Klasy (95)
- Składowe statyczne (98)
- Klasy statyczne (100)
- Typy referencyjne (101)
- Struktury (106)
- Kiedy tworzyć typy wartościowe? (110)
- Składowe (115)
- Pola (115)
- Konstruktory (117)
- Metody (125)
- Właściwości (130)
- Indeksatory (134)
- Operatory (135)
- Zdarzenia (138)
- Typy zagnieżdżone (138)
- Interfejsy (140)
- Typy wyliczeniowe (141)
- Inne typy (144)
- Typy anonimowe (145)
- Typy i metody częściowe (146)
- Podsumowanie (147)
4. Typy ogólne (149)
- Typy ogólne (150)
- Ograniczenia (152)
- Ograniczenia typu (153)
- Ograniczenia typu referencyjnego (155)
- Ograniczenia typu wartościowego (157)
- Stosowanie wielu ograniczeń (158)
- Wartości przypominające zero (158)
- Metody ogólne (160)
- Wnioskowanie typu (160)
- Tajniki typów ogólnych (161)
- Podsumowanie (163)
5. Kolekcje (165)
- Tablice (165)
- Inicjalizacja tablic (168)
- Użycie sÅ‚owa kluczowego params do przekazywania zmiennej liczby argumentów (169)
- Przeszukiwanie i sortowanie (171)
- Tablice wielowymiarowe (178)
- Kopiowanie i zmiana wielkości (181)
- List
(182) - Interfejsy list i sekwencji (185)
- Implementacja list i sekwencji (189)
- Iteratory (190)
- Klasa Collection
(194) - Klasa ReadOnlyCollection
(195)
- SÅ‚owniki (196)
- SÅ‚owniki posortowane (198)
- Zbiory (200)
- Kolejki i stosy (201)
- Listy połączone (202)
- Kolekcje wspóÅ‚bieżne (203)
- Krotki (204)
- Podsumowanie (205)
6. Dziedziczenie (207)
- Dziedziczenie i konwersje (208)
- Dziedziczenie interfejsów (210)
- Typy ogólne (211)
- Kowariancja i kontrawariancja (212)
- System.Object (217)
- Wszechobecne metody typu object (217)
- Dostępność i dziedziczenie (218)
- Metody wirtualne (220)
- Metody abstrakcyjne (222)
- Metody i klasy ostateczne (228)
- Dostęp do składowych klas bazowych (229)
- Dziedziczenie i tworzenie obiektów (230)
- Specjalne typy bazowe (234)
- Podsumowanie (235)
7. Cykl życia obiektów (237)
- Mechanizm odzyskiwania pamięci (238)
- Określanie osiągalności danych (239)
- Przypadkowe problemy mechanizmu odzyskiwania pamięci (242)
- SÅ‚abe referencje (244)
- Odzyskiwanie pamięci (248)
- Tryby odzyskiwania pamięci (254)
- Przypadkowe utrudnianie scalania (256)
- Wymuszanie odzyskiwania pamięci (260)
- Destruktory i finalizacja (261)
- Finalizatory krytyczne (264)
- Interfejs IDisposable (265)
- Zwalnianie opcjonalne (271)
- Pakowanie (272)
- Pakowanie danych typu Nullable
(276)
- Pakowanie danych typu Nullable
- Podsumowanie (277)
8. WyjÄ…tki (279)
- ŹródÅ‚a wyjÄ…tków (281)
- Wyjątki zgłaszane przez API (282)
- WyjÄ…tki w naszym kodzie (284)
- Błędy wykrywane przez środowisko uruchomieniowe (284)
- ObsÅ‚uga wyjÄ…tków (285)
- Obiekty wyjÄ…tków (286)
- Wiele bloków catch (287)
- Zagnieżdżone bloki try (289)
- Bloki finally (290)
- ZgÅ‚aszanie wyjÄ…tków (292)
- Powtórne zgÅ‚aszanie wyjÄ…tków (292)
- Sposób na szybkie zakoÅ„czenie aplikacji (295)
- Typy wyjÄ…tków (296)
- WyjÄ…tki niestandardowe (298)
- Wyjątki nieobsługiwane (301)
- Debugowanie i wyjÄ…tki (303)
- WyjÄ…tki asynchroniczne (305)
- Podsumowanie (308)
9. Delegaty, wyrażenia lambda i zdarzenia (309)
- Typy delegatów (310)
- Tworzenie delegatów (311)
- MulticastDelegate - delegaty zbiorowe (314)
- WywoÅ‚ywanie delegatów (316)
- Popularne typy delegatów (318)
- Zgodność typów (319)
- Więcej niż składnia (323)
- Metody inline (326)
- Przechwytywane zmienne (328)
- Wyrażenia lambda oraz drzewa wyrażeń (335)
- Zdarzenia (336)
- Standardowy wzorzec delegatów zdarzeÅ„ (338)
- Niestandardowe metody dodajÄ…ce i usuwajÄ…ce zdarzenia (339)
- Zdarzenia i mechanizm odzyskiwania pamięci (342)
- Zdarzenia a delegaty (344)
- Delegaty a interfejsy (345)
- Podsumowanie (345)
10. LINQ (347)
- Wyrażenia zapytań (348)
- Jak są rozwijane wyrażenia zapytań (351)
- Obsługa wyrażeń zapytań (353)
- Przetwarzanie opóźnione (357)
- LINQ, typy ogólne oraz interfejs IQueryable
(359) - Standardowe operatory LINQ (361)
- Filtrowanie (364)
- Selekcja (366)
- Operator SelectMany (369)
- Określanie porządku (371)
- Testy zawierania (373)
- Konkretne elementy i podzakresy (375)
- Agregacja (379)
- Operacje na zbiorach (384)
- Operatory działające na całych sekwencjach z zachowaniem kolejności (384)
- Grupowanie (386)
- ZÅ‚Ä…czenia (390)
- Konwersje (392)
- Generowanie sekwencji (396)
- Inne implementacje LINQ (397)
- Entity Framework (397)
- LINQ to SQL (398)
- Klient WCF Data Services (398)
- Parallel LINQ (PLINQ) (399)
- LINQ to XML (399)
- Reactive Extensions (399)
- Podsumowanie (400)
11. Reactive Extensions (401)
- Rx oraz różne wersje .NET Framework (403)
- Podstawowe interfejsy (405)
- Interfejs IObserver
(406) - Interfejs IObservable
(407)
- Interfejs IObserver
- Publikowanie i subskrypcja z wykorzystaniem delegatów (413)
- Tworzenie źródÅ‚a przy wykorzystaniu delegatów (413)
- Subskrybowanie obserwowalnych źródeÅ‚ przy użyciu delegatów (417)
- Generator sekwencji (418)
- Empty (418)
- Never (418)
- Return (419)
- Throw (419)
- Range (419)
- Repeat (419)
- Generate (420)
- Zapytania LINQ (421)
- Operatory grupowania (423)
- Operatory Join (424)
- Operator SelectMany (429)
- Agregacja oraz inne operatory zwracające jedną wartość (430)
- Operator Concat (431)
- Operatory biblioteki Rx (431)
- Merge (432)
- Operatory Buffer i Window (433)
- Operator Scan (440)
- Operator Amb (441)
- DistinctUntilChanged (442)
- Mechanizmy szeregujÄ…ce (442)
- OkreÅ›lanie mechanizmów szeregujÄ…cych (443)
- Wbudowane mechanizmy szeregujÄ…ce (445)
- Tematy (447)
- Subject
(447) - BehaviorSubject
(448) - ReplaySubject
(449) - AsyncSubject
(449)
- Subject
- Dostosowanie (450)
- IEnumerable
(450) - Zdarzenia .NET (452)
- API asynchroniczne (454)
- IEnumerable
- Operacje z uzależnieniami czasowymi (456)
- Interval (456)
- Timer (457)
- Timestamp (458)
- TimeInterval (459)
- Throttle (459)
- Sample (460)
- Timeout (460)
- Operatory okien czasowych (460)
- Delay (461)
- DelaySubscription (461)
- Podsumowanie (462)
12. Podzespoły (463)
- Visual Studio i podzespoły (463)
- Anatomia podzespołu (464)
- Metadane .NET (465)
- Zasoby (465)
- PodzespoÅ‚y skÅ‚adajÄ…ce siÄ™ z wielu plików (466)
- Inne możliwości formatu PE (467)
- Tożsamość typu (468)
- Wczytywanie podzespoÅ‚ów (471)
- Jawne wczytywanie podzespoÅ‚ów (473)
- Global Assembly Cache (474)
- Nazwy podzespoÅ‚ów (476)
- Silne nazwy (476)
- Numer wersji (480)
- Identyfikator kulturowy (484)
- Architektura procesora (487)
- Przenośne biblioteki klas (488)
- Wdrażanie pakietów (490)
- Aplikacje dla systemu Windows 8 (490)
- ClickOnce oraz XBAP (491)
- Aplikacje Silverlight oraz Windows Phone (492)
- Zabezpieczenia (493)
- Podsumowanie (494)
13. Odzwierciedlanie (495)
- Typy odzwierciedlania (495)
- Assembly (498)
- Module (502)
- MemberInfo (503)
- Type oraz TypeInfo (506)
- MethodBase, ConstructorInfo oraz MethodInfo (510)
- ParameterInfo (512)
- FieldInfo (513)
- PropertyInfo (513)
- EventInfo (514)
- Konteksty odzwierciedlania (514)
- Podsumowanie (516)
14. Dynamiczne okreÅ›lanie typów (517)
- Typ dynamic (519)
- SÅ‚owo kluczowe dynamic i mechanizmy wspóÅ‚dziaÅ‚ania (521)
- Silverlight i obiekty skryptowe (524)
- Dynamiczne języki .NET (525)
- Tajniki typu dynamic (526)
- Ograniczenia typu dynamic (526)
- Niestandardowe obiekty dynamiczne (528)
- Klasa ExpandoObject (531)
- Ograniczenia typu dynamic (531)
- Podsumowanie (534)
15. Atrybuty (535)
- Stosowanie atrybutów (535)
- Cele atrybutów (537)
- Atrybuty obsługiwane przez kompilator (539)
- Atrybuty obsługiwane przez CLR (543)
- Definiowanie i stosowanie atrybutów niestandardowych (551)
- Typ atrybutu (551)
- Pobieranie atrybutów (553)
- Podsumowanie (556)
16. Pliki i strumienie (557)
- Klasa Stream (558)
- Położenie i poruszanie się w strumieniu (560)
- Opróżnianie strumienia (561)
- Kopiowanie (562)
- Length (562)
- Zwalnianie strumieni (564)
- Operacje asynchroniczne (565)
- Konkretne typy strumieni (565)
- Windows 8 oraz interfejs IRandomAccessStream (566)
- Typy operujÄ…ce na tekstach (569)
- TextReader oraz TextWriter (570)
- Konkretne typy do odczytu i zapisu Å‚aÅ„cuchów znaków (572)
- Kodowanie (574)
- Pliki i katalogi (578)
- Klasa FileStream (578)
- Klasa File (581)
- Klasa Directory (585)
- Klasa Path (586)
- Klasy FileInfo, DirectoryInfo oraz FileSystemInfo (588)
- Znane katalogi (589)
- Serializacja (590)
- Klasy BinaryReader oraz BinaryWriter (590)
- Serializacja CLR (591)
- Serializacja kontraktu danych (594)
- Klasa XmlSerializer (597)
- Podsumowanie (598)
17. Wielowątkowość (599)
- WÄ…tki (599)
- WÄ…tki, zmienne i wspólny stan (601)
- Klasa Thread (607)
- Pula wÄ…tków (609)
- Powinowactwo do wÄ…tku oraz klasa SynchronizationContext (614)
- Synchronizacja (618)
- Monitory oraz słowo kluczowe lock (619)
- Klasa SpinLock (625)
- Blokady odczytu i zapisu (627)
- Obiekty zdarzeń (628)
- Klasa Barrier (631)
- Klasa CountdownEvent (632)
- Semafory (632)
- Muteksy (633)
- Klasa Interlocked (634)
- Leniwa inicjalizacja (637)
- PozostaÅ‚e klasy obsÅ‚ugujÄ…ce dziaÅ‚ania wspóÅ‚bieżne (639)
- Zadania (640)
- Klasy Task oraz Task
(640) - Kontynuacje (643)
- Mechanizmy szeregujÄ…ce (645)
- ObsÅ‚uga bÅ‚Ä™dów (647)
- Niestandardowe zadania bezwÄ…tkowe (648)
- Związki zadanie nadrzędne - zadanie podrzędne (649)
- Zadania złożone (650)
- Klasy Task oraz Task
- Inne wzorce asynchroniczne (651)
- Anulowanie (652)
- RównolegÅ‚ość (653)
- Klasa Parallel (653)
- Parallel LINQ (654)
- TPL Dataflow (654)
- Podsumowanie (655)
18. Asynchroniczne cechy języka (657)
- Nowe słowa kluczowe: async oraz await (658)
- Konteksty wykonania i synchronizacji (662)
- Wykonywanie wielu operacji i pętli (663)
- Zwracanie obiektu Task (666)
- Stosowanie async w metodach zagnieżdżonych (667)
- Wzorzec słowa kluczowego await (668)
- ObsÅ‚uga bÅ‚Ä™dów (672)
- Weryfikacja poprawnoÅ›ci argumentów (674)
- WyjÄ…tki pojedyncze oraz grupy wyjÄ…tków (675)
- Operacje równolegÅ‚e i nieobsÅ‚użone wyjÄ…tki (677)
- Podsumowanie (678)
19. XAML (681)
- Platformy XAML (682)
- WPF (683)
- Silverlight (684)
- Windows Phone 7 (686)
- Windows Runtime oraz aplikacje dostosowane do interfejsu użytkownika Windows 8 (687)
- Podstawy XAML (688)
- Przestrzenie nazw XAML oraz XML (689)
- Generowane klasy i kod ukryty (690)
- Elementy podrzędne (692)
- Elementy właściwości (692)
- Obsługa zdarzeń (694)
- Wykorzystanie wÄ…tków (695)
- Układ (696)
- Właściwości (696)
- Panele (702)
- ScrollViewer (712)
- Zdarzenia związane z układem (712)
- Kontrolki (713)
- Kontrolki z zawartością (714)
- Kontrolki Slider oraz ScrollBar (717)
- Kontrolki postÄ™pów (718)
- Listy (719)
- Szablony kontrolek (721)
- Kontrolki użytkownika (724)
- Tekst (725)
- WyÅ›wietlanie tekstów (725)
- Edycja tekstów (727)
- WiÄ…zanie danych (729)
- Szablony danych (732)
- Grafika (735)
- Kształty (735)
- Bitmapy (736)
- Media (737)
- Style (738)
- Podsumowanie (739)
20. ASP.NET (741)
- Razor (742)
- Wyrażenia (743)
- Sterowanie przepływem (745)
- Bloki kodu (746)
- Jawne wskazywanie treści (747)
- Klasy i obiekty stron (748)
- Stosowanie innych komponentów (749)
- Strony układu (749)
- Strony poczÄ…tkowe (751)
- Web Forms (752)
- Kontrolki serwerowe (752)
- Wyrażenia (758)
- Bloki kodu (758)
- Standardowe obiekty stron (759)
- Klasy i obiekty stron (759)
- Stosowanie innych komponentów (760)
- Strony nadrzędne (760)
- MVC (762)
- Typowy układ projektu MVC (763)
- Pisanie modeli (769)
- Pisanie widoków (771)
- Pisanie kontrolerów (772)
- Obsługa dodatkowych danych wejściowych (774)
- Generowanie Å‚Ä…czy do akcji (776)
- Trasowanie (777)
- Podsumowanie (781)
21. WspóÅ‚dziaÅ‚anie (783)
- Wywoływanie kodu rodzimego (783)
- Szeregowanie (784)
- Procesy 32- i 64-bitowe (792)
- Bezpieczne uchwyty (793)
- Bezpieczeństwo (794)
- Mechanizm Platform Invoke (795)
- Konwencje wywołań (796)
- ObsÅ‚uga Å‚aÅ„cuchów znaków (797)
- Nazwa punktu wejścia (797)
- Wartości wynikowe technologii COM (798)
- ObsÅ‚uga bÅ‚Ä™dów Win32 (802)
- Technologia COM (802)
- Czas życia obiektów RCW (803)
- Metadane (805)
- Skrypty (811)
- Windows Runtime (814)
- Metadane (815)
- Typy Windows Runtime (815)
- Bufory (816)
- Niebezpieczny kod (818)
- C++/CLI i Component Extensions (819)
- Podsumowanie (820)
Skorowidz (821)