Facebook - konwersja
Pobierz fragment

C#. Rusz głową! Wydanie III - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
18 sierpnia 2014
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
99,00

C#. Rusz głową! Wydanie III - ebook

C# to odpowiedź firmy Microsoft na odnoszący sukcesy język Java. Za pomocą C# możesz pisać przenośny kod, który Twoi klienci uruchomią w dowolnym systemie. Jest tylko jeden warunek — muszą mieć dostęp do środowiska uruchomieniowego: .NET Framework, Mono lub DotGNU. Innymi słowy, C# spełnił marzenia programistów — raz stworzony kod można uruchomić bez dodatkowych nakładów na różnych platformach.

Najnowsze wydanie tej książki, należącej do cenionej serii „Rusz głową”, zostało zaktualizowane, poprawione oraz rozszerzone o dodatkowy projekt na platformę Windows Phone. Gdy pochłoniesz te kilkaset stron, zaczniesz swobodnie korzystać z języka C#, jego konstrukcji i możliwości. Książka charakteryzuje się doskonałą przejrzystością oraz przystępnie przedstawioną wiedzą. Znajdziesz tu elementy programowania obiektowego, operacje na plikach, obsługę wyjątków oraz pracę z wieloma wątkami — to tylko niektóre z poruszanych zagadnień. Ponadto przekonasz się, jak sprawnie stworzyć atrakcyjny interfejs użytkownika, oraz zrozumiesz, do czego służy język LINQ. Jest to wyśmienita pozycja dla wszystkich czytelników chcących rozpocząć przygodę z językiem C# oraz platformą .NET.

Dzięki tej książce:

  • przygotujesz swoje środowisko pracy
  • poznasz składnię oraz konstrukcje języka C#
  • zaznajomisz się z elementami programowania obiektowego
  • wykorzystasz możliwości języka LINQ
  • stworzysz projekt dla Windows Phone
  • wykorzystasz potencjał platformy .NET

Poznaj możliwości języka C#!

Spis treści

Wstęp

  • Dla kogo jest ta książka? (32)
  • Wiemy, o czym myślisz (33)
  • Metapoznanie: myślenie o myśleniu (35)
  • Zmuś swój mózg do posłuszeństwa (37)
  • Czego potrzebujesz do tej książki? (38)
  • Przeczytaj to (39)
  • Grupa korektorów technicznych (40)
  • Podziękowania (41)

Rozdział 1. Napisz coś fajnego, i to szybko!

  • Dlaczego powinieneś uczyć się C# (44)
  • C# oraz Visual Studio ułatwiają wiele czynności (45)
  • Co robić w Visual Studio... (46)
  • Co Visual Studio robi w naszym imieniu... (46)
  • Obcy atakują! (50)
  • Tylko Ty możesz uratować Ziemię (51)
  • Oto co masz zamiar napisać (52)
  • Zacznij od pustej aplikacji (54)
  • Określ wymiary siatki na stronie (60)
  • Dodaj kontrolki do siatki (62)
  • Używaj właściwości, by zmieniać wygląd kontrolek (64)
  • To kontrolki sprawiają, że gra działa (66)
  • Stworzyłeś scenę, na której będzie prowadzona gra (71)
  • Czym zajmiesz się teraz? (72)
  • Dodaj metody, które coś zrobią (73)
  • Podaj kod metody (74)
  • Dokończ metodę i uruchom program (76)
  • Oto co zrobiłeś do tej pory (78)
  • Dodaj liczniki czasu zarządzające rozgrywką (80)
  • Popraw działanie przycisku Start (82)
  • Uruchom program, by zobaczyć postępy w pracy (83)
  • Dodaj kod obsługujący interakcję użytkownika z kontrolkami (84)
  • Dotknięcie człowiekiem wroga kończy grę (86)
  • Teraz już można bawić się grą (87)
  • Zadbaj, by wrogowie wyglądali jak obcy (88)
  • Dodaj ekran startowy i tytuł (89)
  • Opublikuj swoją aplikację (90)
  • Użyj programu Remote Debugger, by uruchomić aplikację na innym komputerze (91)
  • Rozpocznij zdalne debugowanie (92)

Rozdział 2. Pod maską

  • Kiedy robisz to... (96)
  • ...IDE robi to (97)
  • Skąd się biorą programy (98)
  • IDE pomaga Ci kodować (100)
  • Anatomia programu (102)
  • W tej samej przestrzeni nazw mogą być dwie klasy (107)
  • Twoje programy używają zmiennych do pracy z danymi (108)
  • C# używa znanych symboli matematycznych (110)
  • Użyj debuggera, by zobaczyć, jak zmieniają się wartości zmiennych (111)
  • Pętle wykonują czynność wielokrotnie (113)
  • Instrukcje if/else podejmują decyzje (114)
  • Utwórz aplikację od samego początku (115)
  • Niech przycisk coś zrobi (117)
  • Ustal warunki i sprawdź, czy są prawdziwe (118)
  • Tworzenie klasycznych aplikacji Windows jest łatwe (129)
  • Przepisz program jako klasyczną aplikację Windows (130)
  • Twój program wie, gdzie zacząć (134)
  • Możesz zmienić punkt wejścia programu (136)
  • Kiedy zmieniasz coś w IDE, zmieniasz także swój kod (138)

Rozdział 3. Tworzenie kodu ma sens

  • W jaki sposób Maciek myśli o swoich problemach (144)
  • W jaki sposób system nawigacyjny w samochodzie Maćka rozwiązuje jego problemy (145)
  • Klasa Navigator napisana przez Maćka posiada metody do ustalania i modyfikacji tras (146)
  • Wykorzystaj to, czego się nauczyłeś, do napisania prostego programu używającego klas (147)
  • Maciek ma pewien pomysł (149)
  • Maciek może użyć obiektów do rozwiązania swojego problemu (150)
  • Używasz klasy do utworzenia obiektu (151)
  • Kiedy tworzysz obiekt na podstawie klasy, to taki obiekt nazywamy instancją klasy (152)
  • Lepsze rozwiązanie... uzyskane dzięki obiektom! (153)
  • Instancja używa pól do przechowywania informacji (158)
  • Stwórzmy kilka instancji! (159)
  • Dzięki za pamięć (160)
  • Co Twój program ma na myśli (161)
  • Możesz używać nazw klas i metod w celu uczynienia kodu bardziej intuicyjnym (162)
  • Nadaj swojej klasie naturalną strukturę (164)
  • Diagramy klas pozwalają w sensowny sposób zorganizować klasy (166)
  • Utwórz klasę do pracy z kilkoma facetami (170)
  • Utwórz projekt dla facetów (171)
  • Utwórz formularz do interakcji z facetami (172)
  • Jest jeszcze prostszy sposób inicjalizacji obiektów (175)

Rozdział 4. Jest 10:00. Czy wiesz, gdzie są Twoje dane?

  • Typ zmiennej określa rodzaj danych, jakie zmienna może przechowywać (182)
  • Zmienna jest jak kubek z danymi (184)
  • 10 kilogramów danych w pięciokilogramowej torebce (185)
  • Nawet wtedy, gdy liczba ma prawidłowy rozmiar, nie możesz przypisać jej do każdej zmiennej (186)
  • Kiedy rzutujesz wartość, która jest zbyt duża, C# dopasowuje ją automatycznie (187)
  • C# przeprowadza niektóre rzutowania automatycznie (188)
  • Kiedy wywołujesz metodę, zmienne muszą pasować do typów parametrów (189)
  • Przetestuj kalkulator zwrotu kosztów (193)
  • Połączenie = z operatorem (194)
  • Także obiekty używają zmiennych (195)
  • Korzystaj ze swoich obiektów za pomocą zmiennych referencyjnych (196)
  • Referencje są jak etykiety do Twoich obiektów (197)
  • Jeżeli nie ma już żadnej referencji, Twoje obiekty są usuwane z pamięci (198)
  • Referencje wielokrotne i ich efekty uboczne (199)
  • Dwie referencje oznaczają DWA sposoby na zmianę danych obiektu (204)
  • Specjalny przypadek: tablice (205)
  • Tablice mogą także zawierać grupę zmiennych referencyjnych (206)
  • Witamy w barze Niechlujny Janek - najtańsze kanapki w mieście! (207)
  • Obiekty używają referencji do komunikacji między sobą (209)
  • Tam, gdzie obiektów jeszcze nie było (210)
  • Napisz grę w literki (215)
  • Kontrolki to też obiekty, podobne do innych (219)

Laboratorium C# numer 1. Dzień na wyścigach

  • Specyfikacja: stwórz symulator wyścigów (226)
  • Końcowy produkt (234)

Rozdział 5. Co ma być ukryte... niech będzie ukryte

  • Krystyna planuje przyjęcia (236)
  • Co powinien robić program szacujący? (237)
  • Napiszesz program dla Krystyny (238)
  • Jazda próbna Krystyny (244)
  • Każda opcja powinna być obliczana osobno (246)
  • Bardzo łatwo przez przypadek źle skorzystać z obiektów (248)
  • Hermetyzacja oznacza, że niektóre dane w klasie są prywatne (249)
  • Użyj hermetyzacji w celu kontroli dostępu do metod i pól Twojej klasy (250)
  • Ale czy jego prawdziwa tożsamość jest NAPRAWDĘ chroniona? (251)
  • Dostęp do prywatnych pól i metod można uzyskać tylko z wnętrza klasy (252)
  • Hermetyzacja utrzymuje Twoje dane w nieskazitelnym stanie (260)
  • Właściwości sprawią, że hermetyzacja będzie łatwiejsza (261)
  • Utwórz aplikację do przetestowania klasy Farmer (262)
  • Użyj automatycznych właściwości do ukończenia klasy (263)
  • Co wtedy, gdy chcemy zmienić pole mnożnika wyżywienia? (264)
  • Użyj konstruktora do inicjalizacji pól prywatnych (265)

Rozdział 6. Drzewo genealogiczne Twoich obiektów

  • Krystyna organizuje także przyjęcia urodzinowe (276)
  • Potrzebujemy klasy BirthdayParty (277)
  • Stwórz program Planista przyjęć w wersji 2.0 (278)
  • Jeszcze jedna rzecz... Czy możesz dodać opłatę 100 zł za przyjęcia dla ponad 12 osób? (285)
  • Kiedy klasy używają dziedziczenia, kod musi być napisany tylko raz (286)
  • Zbuduj model klasy, rozpoczynając od rzeczy ogólnych i przechodząc do bardziej konkretnych (287)
  • W jaki sposób zaprojektowałbyś symulator zoo? (288)
  • Użyj dziedziczenia w celu uniknięcia powielania kodu w klasach potomnych (289)
  • Różne zwierzęta wydają różne dźwięki (290)
  • Pomyśl, w jaki sposób pogrupować zwierzęta (291)
  • Stwórz hierarchię klas (292)
  • Każda klasa pochodna rozszerza klasę bazową (293)
  • Aby dziedziczyć po klasie bazowej, użyj dwukropka (294)
  • Wiemy, że dziedziczenie dodaje pola, właściwości i metody klasy bazowej do klasy potomnej... (297)
  • Klasa pochodna może przesłaniać odziedziczone metody w celu ich modyfikacji lub zmiany (298)
  • W każdym miejscu, gdzie możesz skorzystać z klasy bazowej, możesz zamiast niej użyć jednej z jej klas pochodnych (299)
  • Klasa pochodna może ukrywać metody klasy bazowej (306)
  • Używaj override i virtual, by dziedziczyć zachowania (308)
  • Klasa potomna może uzyskać dostęp do klasy bazowej, używając słowa kluczowego base (310)
  • Jeśli Twoja klasa bazowa posiada konstruktor, klasa pochodna też musi go mieć (311)
  • Teraz jesteś już gotowy do dokończenia zadania Krystyny (312)
  • Stwórz system zarządzania ulem (317)
  • Użyj dziedziczenia, aby rozszerzyć system zarządzania pszczołami (324)

Rozdział 7. Klasy, które dotrzymują swoich obietnic

  • Wróćmy do pszczelej korporacji (330)
  • Możemy użyć dziedziczenia do utworzenia klas dla różnych typów pszczół (331)
  • Interfejs daje klasie do zrozumienia, że musi ona zaimplementować określone metody i właściwości (332)
  • Użyj słowa kluczowego interface do zdefiniowania interfejsu (333)
  • Teraz możesz utworzyć instancję NectarStinger, która będzie wykonywała dwa rodzaje zadań (334)
  • Klasy implementujące interfejsy muszą zawierać WSZYSTKIE ich metody (335)
  • Poćwicz trochę z interfejsami (336)
  • Nie możesz utworzyć instancji interfejsu, ale możesz uzyskać jego referencję (338)
  • Referencje interfejsów działają tak samo jak referencje obiektów (339)
  • Za pomocą "is" możesz sprawdzić, czy klasa implementuje określony interfejs (340)
  • Interfejsy mogą dziedziczyć po innych interfejsach (341)
  • RoboBee 4000 może wykonywać zadania pszczół bez potrzeby spożywania cennego miodu (342)
  • Ekspres do kawy także jest urządzeniem (344)
  • Rzutowanie w górę działa w odniesieniu do obiektów i interfejsów (345)
  • Rzutowanie w dół pozwala zamienić urządzenie z powrotem w ekspres do kawy (346)
  • Rzutowanie w górę i w dół działa także w odniesieniu do interfejsów (347)
  • Jest coś więcej niż tylko public i private (351)
  • Modyfikatory dostępu zmieniają widoczność (352)
  • Obiekty niektórych klas nigdy nie powinny być tworzone (355)
  • Klasa abstrakcyjna jest jak skrzyżowanie klasy i interfejsu (356)
  • Jak wspominaliśmy, obiekty niektórych klas nigdy nie powinny być tworzone (358)
  • Metoda abstrakcyjna nie ma ciała (359)
  • Piekielny diament śmierci (364)
  • Polimorfizm oznacza, że jeden obiekt może przyjmować wiele różnych postaci (367)

Rozdział 8. Przechowywanie dużej ilości danych

  • Łańcuchy znaków nie zawsze sprawdzają się przy kategoryzowaniu danych (386)
  • Typy wyliczeniowe pozwalają Ci wyliczyć prawidłowe wartości (387)
  • Typy wyliczeniowe pozwalają na reprezentowanie liczb za pomocą nazw (388)
  • Z tablicami ciężko się pracuje (392)
  • Listy ułatwiają przechowywanie kolekcji... czegokolwiek (393)
  • Listy są bardziej elastyczne niż tablice (394)
  • Listy kurczą się i rosną dynamicznie (397)
  • Typy generyczne mogą przechowywać każdy typ (398)
  • Inicjalizatory kolekcji działają tak samo jak inicjalizatory obiektu (402)
  • Stwórzmy listę kaczek (403)
  • Listy są proste, ale SORTOWANIE może być skomplikowane (404)
  • IComparable pomoże Ci posortować listę kaczek (405)
  • Użyj interfejsu IComparer, aby powiedzieć liście, jak ma sortować (406)
  • Utwórz instancję obiektu porównującego (407)
  • IComparer może wykonywać złożone porównania (408)
  • Przesłonienie metody ToString() pozwala obiektom przedstawiać się (411)
  • Zmień pętle foreach tak, by obiekty Duck i Card same się opisywały (412)
  • Pisząc pętlę foreach, używasz IEnumerable (413)
  • Używając IEnumerable, możesz rzutować całą listę w górę (414)
  • Możesz tworzyć własne przeciążone metody (415)
  • Użyj słownika do przechowywania kluczy i wartości (421)
  • Wybrane funkcjonalności słownika (422)
  • Napisz program korzystający ze słownika (423)
  • I jeszcze WIĘCEJ typów kolekcji... (435)
  • Kolejka działa według reguły: pierwszy przyszedł, pierwszy wyszedł (436)
  • Stos działa według reguły: ostatni przyszedł, pierwszy wyszedł (437)

Rozdział 9. Zachowaj te bajty dla mnie!

  • C# używa strumieni do zapisu i odczytu danych (442)
  • Różne strumienie zapisują i odczytują różne rzeczy (443)
  • FileStream odczytuje dane z pliku i zapisuje je w nim (444)
  • W jaki sposób zapisać tekst do pliku w trzech prostych krokach (445)
  • Kanciarz wymyślił nowy diabelski plan (446)
  • Zapis i odczyt wymaga dwóch obiektów (449)
  • Dane mogą przechodzić przez więcej niż jeden strumień (450)
  • Użyj wbudowanych obiektów do wyświetlenia standardowych okien dialogowych (453)
  • Okna dialogowe są kolejnymi kontrolkami .NET (454)
  • Okna dialogowe także są obiektami (455)
  • Używaj wbudowanych klas File oraz Directory do pracy z plikami i katalogami (456)
  • Używaj okien dialogowych do otwierania i zapisywania plików (wszystko za pomocą kilku linijek kodu) (459)
  • Dzięki IDisposable obiekty usuwane są prawidłowo (461)
  • Unikaj błędów systemu plików, korzystając z instrukcji using (462)
  • Zapisywanie danych do plików wymaga wielu decyzji (468)
  • Użyj instrukcji switch do wybrania właściwej opcji (469)
  • Dodaj przeciążony konstruktor Deck(), który wczytuje karty z pliku (471)
  • Kiedy obiekt jest serializowany, serializowane są także wszystkie obiekty z nim powiązane... (475)
  • Serializacja pozwala Ci zapisywać lub odczytywać całe grafy obiektów naraz (476)
  • .NET automatycznie konwertuje tekst do postaci Unicode (481)
  • C# może użyć tablicy bajtów do przesyłania danych (482)
  • Do zapisywania danych binarnych używaj klasy BinaryWriter (483)
  • Pliki utworzone dzięki serializacji można także zapisywać i odczytywać ręcznie (485)
  • Sprawdź, gdzie pliki się różnią, i użyj tej informacji do ich zmiany (486)
  • Praca z plikami binarnymi może być skomplikowana (487)
  • Użyj strumieni plików do utworzenia widoku w postaci szesnastkowej (488)
  • StreamReader i StreamWriter będą do tego odpowiednie (489)

Laboratorium C# numer 2. Wyprawa

  • Specyfikacja: utwórz grę przygodową (496)
  • Zabawa dopiero się zaczyna! (516)

Rozdział 10. Przenosząc swoje aplikacje na wyższy poziom

  • Damian używa Windows 8 (518)
  • Technologia Windows Forms korzysta z grafu obiektów stworzonego przez IDE (524)
  • Użyj IDE do przejrzenia grafu obiektów (527)
  • Aplikacje dla Sklepu Windows używają XAML do tworzenia obiektów interfejsu użytkownika (528)
  • Przeprojektuj formularz Idź na ryby!, zmieniając go w aplikację dla Sklepu Windows (530)
  • Określanie postaci strony rozpoczyna się od dodania kontrolek (532)
  • Wiersze i kolumny mogą zmieniać wielkość, dostosowując się do rozmiarów strony (534)
  • Skorzystaj z systemu siatki, by określić układ stron aplikacji (536)
  • Wiązanie danych kojarzy strony XAML z klasami (542)
  • Kontrolki XAML mogą zawierać tekst... i nie tylko (544)
  • Użyj wiązania danych, by usprawnić aplikację Niechlujnego Janka (546)
  • Korzystaj z zasobów statycznych, by deklarować obiekty w kodzie XAML (552)
  • Wyświetlaj obiekty, używając szablonów danych (554)
  • Interfejs INotifyPropertyChanged pozwala powiązanym obiektom przesyłać aktualizacje (556)
  • Zmodyfikuj klasę MenuMaker, by informowała Cię, gdy zmieni się właściwość GeneratedDate (557)

Rozdział 11. Przepraszam, że przerywam

  • Damian ma problemy z plikami (566)
  • Aplikacje dla Sklepu Windows używają await, by błyskawicznie reagować (568)
  • Używaj klasy FileIO do odczytywania i zapisywania plików (570)
  • Napisz nieco mniej prosty edytor tekstów (572)
  • Kontrakt danych jest abstrakcyjną definicją danych obiektu (577)
  • Do odnajdywania i otwierania plików używaj metod asynchronicznych (578)
  • Klasa KnownFolders ułatwia dostęp do najczęściej używanych folderów (580)
  • W kodzie XML jest serializowany cały graf obiektów (581)
  • Prześlij kilka obiektów Guy do lokalnego folderu aplikacji (582)
  • Wypróbujmy działanie aplikacji (586)
  • Używaj klasy Task, by wywoływać jedną metodę asynchroniczną w innej (587)
  • Napisz dla Damiana nową aplikację do zarządzania wymówkami (588)
  • Odrębna strona, wymówka i ExcuseManager (589)
  • Utwórz stronę główną aplikacji Menedżera wymówek (590)
  • Dodaj pasek aplikacji do strony głównej (591)
  • Napisz klasę ExcuseManager (592)
  • Dodaj kod obsługujący stronę (594)

Rozdział 12. Gaszenie pożarów nie jest już popularne

  • Damian potrzebuje swoich wymówek, aby być mobilnym (600)
  • Kiedy program zgłasza wyjątek, .NET tworzy obiekt Exception (604)
  • Kod Damiana zrobił coś nieoczekiwanego (606)
  • Wszystkie obiekty wyjątków dziedziczą po Exception (608)
  • Debugger pozwala Ci wyśledzić wyjątki w kodzie i zapobiec im (609)
  • Użyj debuggera wbudowanego w IDE, aby znaleźć problem w programie do zarządzania wymówkami (610)
  • Oj, oj! - w kodzie dalej są błędy... (613)
  • Obsłuż wyjątki za pomocą try i catch (615)
  • Co się stanie, jeżeli wywoływana metoda będzie niebezpieczna? (616)
  • Użyj debuggera do prześledzenia przepływu w blokach try/catch (618)
  • Jeśli posiadasz kod, który ZAWSZE musi zostać wykonany, zastosuj finally (620)
  • Użyj obiektu Exception w celu uzyskania informacji o problemie (625)
  • Użyj więcej niż jednego bloku catch do wyłapania różnych typów wyjątków (626)
  • Jedna klasa zgłasza wyjątek, inna klasa go przechwytuje (627)
  • Łatwy sposób na uniknięcie licznych problemów: using umożliwia Ci stosowanie try i finally za darmo (631)
  • Unikanie wyjątków: zaimplementuj IDisposable, aby przeprowadzić własne procedury sprzątania (632)
  • Najgorszy z możliwych bloków catch: komentarze (634)
  • Kilka prostych wskazówek dotyczących obsługi wyjątków (636)

Rozdział 13. Kapitan Wspaniały. Śmierć obiektu

  • Twoją ostatnią szansą na ZROBIENIE czegoś... jest użycie finalizatora (646)
  • Kiedy DOKŁADNIE wywoływany jest finalizator? (647)
  • Dispose() działa z using, a finalizatory działają z mechanizmem oczyszczania pamięci (648)
  • Finalizatory nie mogą polegać na stabilności (650)
  • Spraw, aby obiekt serializował się w Dispose() (651)
  • Struktura jest podobna do obiektu... (655)
  • ...ale nie jest obiektem (655)
  • Wartości są kopiowane, referencje są przypisywane (656)
  • Struktury traktowane są jak typy wartościowe, obiekty jak typy referencyjne (657)
  • Stos i sterta: więcej na temat pamięci (659)
  • Używaj parametrów wyjściowych, by zwracać z metody więcej niż jedną wartość (662)
  • Przekazuj referencje, używając modyfikatora ref (663)
  • Używaj parametrów opcjonalnych, by określać wartości domyślne (664)
  • Jeśli musisz używać wartości pustych, stosuj typy, które je akceptują (665)
  • Typy akceptujące wartości puste poprawiają odporność programów (666)
  • "Kapitan" Wspaniały... nie tak bardzo (669)
  • Metody rozszerzające zwiększają funkcjonalność ISTNIEJĄCYCH klas (670)
  • Rozszerzanie podstawowego typu: string (672)

Rozdział 14. Przejmij kontrolę nad danymi

  • Janek jest superfanem Kapitana Wspaniałego... (678)
  • ...ale jego kolekcja zajmuje każde wolne miejsce (679)
  • Dzięki LINQ możesz pobrać dane z różnych źródeł (680)
  • Kolekcje .NET są przystosowane do działania z LINQ (681)
  • LINQ ułatwia wykonywanie zapytań (682)
  • LINQ jest prosty, ale Twoje zapytania wcale takie być nie muszą (683)
  • Janek chętnie skorzystałby z pomocy (686)
  • Zacznij pisać aplikację dla Janka (688)
  • Używaj słowa kluczowego new, by tworzyć typy anonimowe (691)
  • LINQ ma wiele zastosowań (694)
  • Dodaj nowe zapytania do aplikacji Janka (696)
  • LINQ może połączyć Twoje wyniki w grupy (701)
  • Połącz wartości Janka w grupy (702)
  • Użyj join do połączenia dwóch kolekcji w jedną sekwencję (705)
  • Janek zaoszczędził mnóstwo szmalu (706)
  • Użyj semantycznego powiększenia, aby przejść do danych (712)
  • Dodaj zoom semantyczny do aplikacji Janka (714)
  • Zrobiłeś na Janku wielkie wrażenie (719)
  • Szablon Split App ułatwia tworzenie aplikacji służących do przeglądania danych (720)

Rozdział 15. Co robi Twój kod, kiedy nie patrzysz

  • Czy kiedykolwiek marzyłeś o tym, aby Twoje obiekty potrafiły samodzielnie myśleć? (730)
  • Ale skąd obiekt WIE, że ma odpowiedzieć? (730)
  • Kiedy wystąpi ZDARZENIE... obiekty nasłuchują (731)
  • Jeden obiekt wywołuje zdarzenie, inne nasłuchują... (732)
  • Potem inne obiekty obsługują zdarzenie (733)
  • Łącząc punkty (734)
  • IDE automatycznie tworzy za Ciebie procedury obsługi zdarzeń (738)
  • Ogólny typ EventHandler pozwala definiować własne typy zdarzeń (744)
  • Formularze używają wielu różnych zdarzeń (745)
  • Jedno zdarzenie, wiele procedur obsługi (746)
  • Aplikacje dla Sklepu Windows używają zdarzeń do zarządzania cyklem życia procesu (748)
  • Dodaj zarządzanie cyklem życia procesu do aplikacji Janka (749)
  • Kontrolki XAML korzystają ze zdarzeń trasowanych (752)
  • Utwórz aplikację do badania zdarzeń trasowanych (753)
  • Połączenie nadawców zdarzenia z jego odbiorcami (758)
  • Delegat ZASTĘPUJE właściwą metodę (759)
  • Delegat w akcji (760)
  • Każdy obiekt może subskrybować publiczne zdarzenie... (763)
  • Użyj funkcji zwrotnej, by wiedzieć, kto nasłuchuje (764)
  • Funkcje zwrotne są jedynie sposobem używania delegatów (766)
  • Możesz używać funkcji zwrotnych w oknach dialogowych MessageDialog (768)
  • Użyj delegatów, by skorzystać z panelu Ustawienia (770)

Rozdział 16. Świetne aplikacje od zewnątrz i od środka

  • Liga "Koszykówka. Rusz głową" potrzebuje swojej aplikacji (774)
  • Jednak czy wszyscy uzgodnią, jak napisać tę aplikację? (775)
  • Czy projektujesz pod kątem wiązania danych, czy łatwości pracy z danymi? (776)
  • Wzorzec MVVM pozwala projektować, uwzględniając zarówno wiązanie, jak i dane (777)
  • Użyj wzorca MVVM, by rozpocząć tworzenie aplikacji dla ligi koszykówki (778)
  • Kontrolki użytkownika pozwalają tworzyć swoje własne kontrolki (781)
  • Sędziowie potrzebują stopera (789)
  • Wzorzec MVVM oznacza myślenie o stanie aplikacji (790)
  • Zacznij tworzenie modelu aplikacji stopera (791)
  • Zdarzenia ostrzegają resztę aplikacji o zmianie stanu (792)
  • Utwórz widok prostej aplikacji stopera (793)
  • Dodaj model widoku aplikacji stopera (794)
  • Konwertery automatycznie konwertują wartości na potrzeby powiązań (798)
  • Konwertery mogą operować na wielu różnych typach danych (800)
  • Stan wizualny sprawia, że kontrolki odpowiadają na zmiany (806)
  • Używaj DoubleAnimation, by animować wartości zmiennoprzecinkowe (807)
  • Używaj animacji obiektów do animowania wartości obiektów (808)
  • Stwórz stoper wskazówkowy, używając tego samego modelu widoku (809)
  • Kontrolki interfejsu użytkownika można także tworzyć w kodzie C# (814)
  • C# pozwala także na tworzenie "prawdziwych" animacji (816)
  • Użyj kontrolki użytkownika, by wyświetlać rysunki tworzące animację (817)
  • Niech Twoje pszczoły latają po stronie (818)
  • Użyj ItemsPanelTemplate, by powiązać pszczoły z kontrolką Canvas (821)
  • Gratulujemy! (Choć jeszcze nie skończyłeś...) (834)

Laboratorium C# numer 3. Invaders

  • Dziadek wszystkich gier (836)
  • Można zrobić znacznie więcej... (857)

Rozdział 17. Napisz aplikację Windows Phone

  • Atak pszczół! (860)
  • Zanim zaczniesz... (861)

Dodatek A. 11 najważniejszych rzeczy, które chcieliśmy umieścić w tej książce

  • 1. Na temat aplikacji dla Sklepu Windows można dowiedzieć się znacznie więcej (874)
  • 2. Podstawy (876)
  • 3. Przestrzenie nazw i złożenia (882)
  • 4. Użyj BackgroundWorker, by poprawić działanie interfejsu użytkownika (886)
  • 5. Klasa Type oraz metoda GetType() (889)
  • 6. Równość, IEquatable oraz Equals() (890)
  • 7. Stosowanie yield return do tworzenia obiektów umożliwiających iterację (893)
  • 8. Refaktoryzacja (896)
  • 9. Anonimowe typy i metody oraz wyrażenia lambda (898)
  • 10. Zastosowanie LINQ to XML (900)
  • 11. Windows Presentation Foundation (902)
  • Czy wiesz, że C# i .NET Framework potrafią... (903)

Skorowidz (905)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-8312-3
Rozmiar pliku: 24 MB

BESTSELLERY

Kategorie: