C#. Receptury. Wydanie II
- Autorzy:
- Jay Hilyard, Stephen Teilhet
- Ocena:
- 4.8/6 Opinie: 5
- Stron:
- 1064
- Druk:
- oprawa miękka
Opis książki: C#. Receptury. Wydanie II
Zbiór gotowych rozwiązań dla programistów C# i .NET 2.0
- Przetwarzanie liczb i tekstów
- Obsługa błędów i wyjątków
- Aplikacje sieciowe
C# to jeden z języków programowania przeznaczonych dla platformy .NET. Został tak skonstruowany, że programiści, którzy wcześniej korzystali z języków Java bądź C++, bez problemu opanują zasady programowania w C#. Według twórcy C# -- firmy Microsoft -- język ten jest nowatorskim narzędziem programowania na platformie .NET, niesprawiającym kłopotów programistom znającym inne języki, a jednocześnie zapewniającym większą kontrolę nad działającym kodem w fazie wykonywania. W nowej wersji platformy .NET, oznaczonej numerem 2.0, wprowadzono również nową wersję języka C#, oferującą dodatkowe możliwości.
Książka "C#. Receptury. Wydanie II" to zbiór ponad 300 porad, które programistom C# pomogą rozwiązać zadania programistyczne, z jakim spotykają się w codziennej pracy. Przedstawiono w niej metody przetwarzania danych tekstowych i liczbowych, zasady korzystania z wyrażeń regularnych oraz typów generycznych -- nowości w C# 2.0. Omówiono sposoby przetwarzania plików XML, obsługę wyjątków oraz reguły tworzenia aplikacji sieciowych ASP.NET i aplikacji dla systemu Windows.
- Operacje na liczbach
- Przetwarzanie ciągów znaków
- Typy generyczne
- Kolekcje i iteratory
- Dzienniki zdarzeń
- Obsługa zdarzeń
- Korzystanie z wyrażeń regularnych
- Operacje na systemie plików
- Tworzenie aplikacji sieciowych
- Zabezpieczanie kodu
Przyspiesz tempo swojej pracy -- korzystaj z gotowych rozwiązań.
Wybrane bestsellery
-
Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowa...
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
(0,00 zł najniższa cena z 30 dni)103.35 zł
159.00 zł(-35%) -
Ta książka ma pełnić funkcję użytecznej ściągawki zawierającej wszystko, co potrzebne do pracy z C#. Została pomyślana tak, aby maksymalnie ułatwić przeglądanie i odnajdywanie potrzebnych treści — i tym samym wesprzeć pracę każdego, komu zależy na sprawnym pisaniu kodu w języku C#. Jest też...(0,00 zł najniższa cena z 30 dni)
32.44 zł
49.90 zł(-35%) -
Książka tak, napisana z myślą o doświadczonych programistach, zawiera wiele przykładowych programów, które pozwolą Ci poznać praktyczne tajniki języka, takie jak typy ogólne, LINQ oraz techniki programowania asynchronicznego. Następnie poznasz najnowsze możliwości platformy .NET 6 oraz języka C# ...
C# 10. Programowanie. Tworzenie aplikacji Windows, internetowych i biurowych C# 10. Programowanie. Tworzenie aplikacji Windows, internetowych i biurowych
(0,00 zł najniższa cena z 30 dni)118.30 zł
169.00 zł(-30%) -
C# - wieloparadygmatowy język programowania opracowany przez firmę Microsoft - z roku na rok zdobywa coraz większą popularność wśród profesjonalistów z branży IT. Przejrzysta struktura kodu, wygoda stosowania, potężne możliwości i wsparcie ze strony platformy .NET - wszystko to sprawia, że są duż...
C#. Zadania z programowania z przykładowymi rozwiązaniami. Wydanie III C#. Zadania z programowania z przykładowymi rozwiązaniami. Wydanie III
(0,00 zł najniższa cena z 30 dni)29.18 zł
44.90 zł(-35%) -
Unity to zintegrowane środowisko umożliwiające tworzenie trójwymiarowych i dwuwymiarowych gier oraz różnego rodzaju interaktywnych treści, takich jak wizualizacje i animacje komputerowe. Wieloplatformowość rozwiązania, prostota używania, bogate funkcje, możliwość generowania materiałów prezentowa...(0,00 zł najniższa cena z 30 dni)
32.44 zł
49.90 zł(-35%) -
Jeśli uczysz się programowania od niedawna i chcesz tworzyć aplikacje desktopowe przy użyciu technologii WPF, to jest to książka dla Ciebie! Z jej pomocą szybko rozpoczniesz pisanie programów. W ten sposób, tworząc kolejne aplikacje okienkowe, będziesz poznawać kluczowe możliwości tej platformy.
Wprowadzenie do WPF. Tworzenie aplikacji w WPF przy użyciu XAML i C# Wprowadzenie do WPF. Tworzenie aplikacji w WPF przy użyciu XAML i C#
(0,00 zł najniższa cena z 30 dni)25.93 zł
39.90 zł(-35%) -
Nie trzeba siedzieć po uszy w programowaniu, by zauważyć pewną regułę: lwia część książek poświęconych temu zagadnieniu została napisana w podobny sposób. I nie chodzi o styl, środowisko czy język, lecz o strukturę. Prawidłowość tę zauważył Łukasz Sosna, który do zagadnienia programowania w język...
Visual Studio 2022, C# i .NET. Programowanie kontrolek Visual Studio 2022, C# i .NET. Programowanie kontrolek
(0,00 zł najniższa cena z 30 dni)34.93 zł
49.90 zł(-30%) -
Ta książka jest praktycznym wprowadzeniem do tworzenia gier 2D w Unity. Dokładnie wyjaśniono w niej filozofię działania tego środowiska i zasady projektowania gier korzystających z silnika Unity. Starannie opisano takie zagadnienia jak arkusze duszków, dzielone kafelki i mapa kafelków. Omówiono r...
Jak pisać świetne gry 2D w Unity. Niezależne programowanie w języku C# Jak pisać świetne gry 2D w Unity. Niezależne programowanie w języku C#
(0,00 zł najniższa cena z 30 dni)32.45 zł
59.00 zł(-45%) -
C# to obecnie jeden z najważniejszych, najpopularniejszych i najbardziej wszechstronnych obiektowych języków programowania, nic więc dziwnego, że na rynku dostępnych jest mnóstwo publikacji na jego temat. Niestety, są to przeważnie opasłe tomy, zupełnie nieprzydatne jako pomoc w codziennej pracy.(0,00 zł najniższa cena z 30 dni)
9.35 zł
17.00 zł(-45%) -
To siódme, zaktualizowane i uzupełnione wydanie jednego z najlepszych podręczników programowania, docenianego przez programistów na każdym poziomie zaawansowania. Poza znakomitym samouczkiem języka C# znalazły się tu informacje o poszczególnych metodykach programowania. Książka zawiera także omów...
C# 8.0. Kompletny przewodnik dla praktyków. Wydanie VII C# 8.0. Kompletny przewodnik dla praktyków. Wydanie VII
(0,00 zł najniższa cena z 30 dni)96.85 zł
149.00 zł(-35%)
Jay Hilyard, Stephen Teilhet - pozostałe książki
-
Nowe wydanie bestsellerowej książki, w pełni zaktualizowane do wersji C# 6.0, oferuje ponad 150 użytecznych rozwiązań dla typowych i nie aż tak typowych problemów, z którymi muszą sobie radzić programiści C# w codziennej pracy. Większość przykładów zostało przypisanych z wyko...(113.40 zł najniższa cena z 30 dni)
113.40 zł
126.00 zł(-10%) -
Completely updated for C# 6.0, the new edition of this bestseller offers more than 150 code recipes to common and not-so-common problems that C# programmers face every day. More than a third of the recipes have been rewritten to take advantage of new C# 6.0 features. If you prefer solutions to ge...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Subclassing & Hooking with Visual Basic offers developers a unique way to customize Windows behavior.Windows is a message-based system. Every action you request creates one or more messages to carry out the action. These messages are passed between objects and carry with them information tha...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Recenzje książki: C#. Receptury. Wydanie II (3)
Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Software Developers Journal Mirosław Mucha; 01/2008
Drugie wydanie "C# Receptury" to zbiór ponad trzystu problemów, na które mogą natknąć się programiści podczas codziennej pracy. Każde zagadnienie (oprócz rozwiązania) zawiera także jego dokładną analizę. Podejście takie umożliwia spojrzenie na problem z szerszej perspektywy. Autorzy starali się aby rozwiązanie konkretnego tematu można było, po drobnych zmianach, wykorzystać w innych, czasem podobnych, a czasem, na pozór zupełnie różnych, zagadnieniach. Stąd niejednokrotnie analiza zajmuje znacznie więcej miejsca niż samo rozwiązanie problemu. Nie zabrakło również odnośników do receptur o podobnej tematyce, czy wprost do dokumentacji MSDN.
Zaproponowany przez Autorów układ książki jest jej wielkim atutem. Potężny, ponad tysiąc stronicowy tom, podzielony został na dwadzieścia rozdziałów, z których każdy zawiera zestaw tytułowych receptur. Autorzy proponują w nich rozwiązania problemów, dla których z różnych powodów zabrakło miejsca w bibliotece FCL (ang. .Net Framework Class Library). Początkowo prezentowane są stosunkowo proste zagadnienia dotyczące operacji na liczbach, znakach czy klasach. Nie zabrakło również charakterystyki typów generycznych, kolekcji oraz sposobów obsługi wyjątków. Osobne rozdziały zostały poświęcone delegatom, wyrażeniom regularnym i zastosowaniu XML-a. W książce znalazło się także miejsce na zagadnienia zaawansowane poświęcone tematyce bezpieczeństwa, pracy w sieci oraz wielowątkowości.
Książka nie jest przeznaczona dla osób, które nie znają języka C# w stopniu chociażby podstawowym. Nie znajdziemy w niej charakterystyki składni, próżno też szukać opisu wykorzystywanego środowiska programistycznego. Autorzy zakładają bowiem, że czytelnikowi nie jest obca technologia .Net. Takie podejście pozwala skupić się na samym problemie i sposobie jego rozwiązania. Bez wątpienia należy to zakwalifikować jako zaletę prezentowanej pozycji. Łatwo można zauważyć, że dołożono wiele starań by nie znalazło się w niej nic zbędnego. Z tego też powodu do książki nie dołączono żadnej płyty z kodami źródłowymi, decydując się na umieszczenie ich na serwerze ftp wydawnictwa.
-
Magazyn Internet KK; 05/2006
Licząca ponad tysiąc stron publikacja jest kierowana do programistów korzystających z języka C#, wprowadzonego na rynek przez firmę Microsoft wraz z platformą .NET. II wydanie książki uwzględnia zmiany, które pojawiły się zarówno w języku C#, jak i w platformie .NET w wersjach 2.0. Czytelnicy niezależnie od stopnia zaawansowania mogą wykorzystywać prezentowane przez autorów techniki do rozwiązywania popularnych problemów programistycznych.
Opasły tom stanowi zbiór ponad 300 porad, podzielonych na 20 kategorii tematycznych. W ramach każdej porady dostępny jest krótki opis problemu, kod źródłowy proponowanego rozwiązania oraz jego analiza umożliwiająca zrozumienie zastosowanych technik. Autorzy często odsyłają czytelników również do innych porad lub artykułów dostępnych w dokumentacji MSDN. Ręczne wpisywanie kodu nie jest oczywiście konieczne. Wydawnictwo Helion udostępnia odpowiednie pliki na stronie poświęconej prezentowanej publikacji.
Wśród poruszanych problemów czytelnicy znajdą zagadnienia związane z przetwarzaniem znaków, korzystaniem z klas i struktur oraz obsługą wyjątków. Sporo miejsca poświęcono też operacjom na plikach, pracy w sieci i bezpieczeństwu. Uzupełnienie całości stanowi nieodzowny przy tak dużej objętości skorowidz.
-
Dziennik Łódzki pio; 09-03-2007
Podczas programowania często można spotkać się z powtarzalnymi elementami, już wcześniej przez kogoś opracowanymi. Dlatego nie warto wyważać otwartych drzwi, tylko sięgnąć po "książkę kucharską" z gotowymi przepisami. Dla programistów C# może to być II wydanie "C#. Receptury" Jay′a Hilyarda i Stephena Teilheta.
Nie jest to podręcznik do nauki programowania. Najlepszy użytek zrobią z książki osoby, które podstawy mają już za sobą, ale nie znają jeszcze wszystkich sztuczek i rozwiązań możliwych do zastosowania w C#. Z kolejnych rozdziałów dowiadujemy się, czym są operacje na znakach i liczbach, klasy i struktury, typy generyczne, kolekcje, iteratory, obsługa wyjątków, diagnostyka, delegaty, wyrażenia regularne, algorytmy i struktury danych oraz operacje wejścia. Otrzymujemy biblię praktycznych rozwiązań, gotowych do zastosowania we własnych aplikacjach.
Słowem - coś dla komputerowych kucharzy, dużo "gotujących" w C#. Te przepisy na pewno im się przydadzą.
Szczegóły książki
- Tytuł oryginału:
- C# Cookbook
- Tłumaczenie:
- Radosław Meryk (przedmowa, rozdz. 1-11), Daniel Kaczmarek (rozdz. 12-20)
- ISBN Książki drukowanej:
- 83-246-0476-6, 8324604766
- Data wydania książki drukowanej:
- 2006-11-09
- Format:
- B5
- Numer z katalogu:
- 3228
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Kategorie:
Programowanie » C# - Programowanie
- Serie wydawnicze: O'Reilly
Spis treści książki
- 1.0. Wprowadzenie (27)
- 1.1. Określanie przybliżonej równości pomiędzy wartością ułamkową a zmiennoprzecinkową (28)
- 1.2. Konwersja stopni na radiany (30)
- 1.3. Konwersja radianów na stopnie (31)
- 1.4. Zastosowanie operatora negacji bitowej do danych różnych typów (31)
- 1.5. Sprawdzenie, czy liczba jest parzysta czy nieparzysta (33)
- 1.6. Uzyskanie bardziej znaczącego i mniej znaczącego słowa liczby (34)
- 1.7. Konwersja liczby z innego systemu liczbowego na dziesiętny (35)
- 1.8. Sprawdzenie, czy ciąg znaków reprezentuje prawidłową liczbę (37)
- 1.9. Zaokrąglanie wartości zmiennoprzecinkowych (37)
- 1.10. Wybór algorytmu zaokrąglania (38)
- 1.11. Zamiana stopni Celsjusza na stopnie Fahrenheita (39)
- 1.12. Zamiana stopni Fahrenheita na stopnie Celsjusza (40)
- 1.13. Bezpieczna konwersja liczb do mniejszego rozmiaru (40)
- 1.14. Wyznaczanie długości dowolnego z trzech boków trójkąta prostokątnego (43)
- 1.15. Obliczanie kątów trójkąta prostokątnego (44)
- 1.16. Wyświetlanie wartości typu wyliczeniowego w postaci tekstowej (45)
- 1.17. Konwersja zwykłego tekstu na odpowiedniki w postaci wartości typu wyliczeniowego (47)
- 1.18. Sprawdzanie poprawności wartości typu wyliczeniowego (48)
- 1.19. Sprawdzanie poprawności typu wyliczeniowego z atrybutem Flags (50)
- 1.20. Zastosowanie elementów typu wyliczeniowego w masce bitowej (52)
- 1.21. Sprawdzanie, czy ustawiono jedną czy kilka flag w danych
typu wyliczeniowego (55)
- 1.22. Wyznaczanie części całkowitej zmiennej typu decimal lub double (58)
- 2.0. Wprowadzenie (59)
- 2.1. Określenie rodzaju znaku w zmiennej char (59)
- 2.2. Sprawdzanie, czy znak znajduje się w określonym zakresie (62)
- 2.3. Porównywanie znaków z rozróżnianiem wielkości liter i bez niego (63)
- 2.4. Wyszukiwanie wszystkich wystąpień znaku w ciągu (65)
- 2.5. Wyszukiwanie wszystkich wystąpień jednego ciągu znaków w innym (67)
- 2.6. Implementacja prostego analizatora dzielącego tekst na słowa (71)
- 2.7. Zarządzanie rozróżnianiem wielkich i małych liter podczas porównywania
dwóch ciągów znaków (73)
- 2.8. Porównywanie jednego ciągu znaków z początkiem lub końcem innego (74)
- 2.9. Wstawianie tekstu do ciągu znaków (75)
- 2.10. Usuwanie lub zastępowanie znaków w ciągu (76)
- 2.11. Kodowanie danych binarnych w formacie Base64 (78)
- 2.12. Dekodowanie danych binarnych zakodowanych w formacie Base64 (79)
- 2.13. Konwersja obiektu String zwróconego w formacie Byte[] na postać String (80)
- 2.14. Przekazywanie ciągu znaków do metody, która akceptuje wyłącznie dane typu byte[] (82)
- 2.15. Konwersja ciągów znaków na dane innych typów (83)
- 2.16. Formatowanie danych w ciągach znaków (86)
- 2.17. Tworzenie ciągu znaków rozdzielanego separatorami (89)
- 2.18. Wyodrębnianie elementów z tekstu rozdzielanego separatorami (90)
- 2.19. Ustawienie maksymalnej liczby znaków dla obiektów klasy StringBuilder (91)
- 2.20. Przetwarzanie w pętli wszystkich znaków w ciągu (92)
- 2.21. Poprawa wydajności porównywania ciągów znaków (94)
- 2.22. Poprawa wydajności aplikacji wykorzystujących klasę StringBuilder (97)
- 2.23. Usuwanie znaków z początku i (lub) końca ciągu (100)
- 2.24. Sprawdzanie, czy ciąg znaków jest pusty lub zawiera wartość null (101)
- 2.25. Dołączanie wiersza (101)
- 2.26. Kodowanie danych przekazywanych porcjami (102)
- 3.0. Wprowadzenie (109)
- 3.1. Tworzenie struktur działających jak unie (111)
- 3.2. Wyprowadzanie wartości typu w postaci ciągu znaków (113)
- 3.3. Konwersja znakowej reprezentacji obiektu na obiekt (118)
- 3.4. Implementacja polimorfizmu za pomocą abstrakcyjnych klas bazowych (122)
- 3.5. Zapewnienie możliwości sortowania danych zdefiniowanego typu (127)
- 3.6. Zapewnienie możliwości wyszukiwania danych typu (132)
- 3.7. Pośrednie przeciążanie operatorów +=, -=, /= i *= (136)
- 3.8. Pośrednie przeciążanie operatorów &&, || i ?: (139)
- 3.9. Włączanie i wyłączanie bitów (141)
- 3.10. Tworzenie bezbłędnych wyrażeń (145)
- 3.11. Upraszczanie wyrażeń logicznych (147)
- 3.12. Konwersja prostych typów danych w sposób niezależny od języka (150)
- 3.13. Kiedy należy używać operatora cast, a kiedy as lub is? (156)
- 3.14. Konwersja za pomocą operatora as (157)
- 3.15. Sprawdzanie typu zmiennej za pomocą operatora is (159)
- 3.16. Implementacja polimorfizmu za pomocą interfejsów (162)
- 3.17. Wywoływanie tej samej metody dla wielu typów obiektowych (165)
- 3.18. Implementacja wywoływanej zwrotnie metody powiadamiającej z wykorzystaniem interfejsów (167)
- 3.19. Wykorzystanie wielu punktów wejścia w celu stworzenia
kilku wersji aplikacji (175)
- 3.20. Zapobieganie tworzeniu częściowo zainicjowanych obiektów (176)
- 3.21. Zwracanie wielu elementów przez metodę (178)
- 3.22. Analiza parametrów wiersza polecenia (181)
- 3.23. Przystosowanie klasy do współpracy z obiektami COM (188)
- 3.24. Inicjowanie stałej w fazie wykonywania programu (192)
- 3.25. Pisanie kodu zgodnego z jak największą liczbą zarządzanych języków (195)
- 3.26. Tworzenie klas, które można klonować (196)
- 3.27. Zapewnienie niszczenia obiektu (199)
- 3.28. Zwalnianie obiektu COM z poziomu zarządzanego kodu (202)
- 3.29. Tworzenie pamięci podręcznej obiektów (203)
- 3.30. Wycofywanie zmian wprowadzonych w obiektach (212)
- 3.31. Zwalnianie niezarządzanych zasobów (218)
- 3.32. Wyszukiwanie operacji pakowania i rozpakowania (224)
- 4.0. Wprowadzenie (227)
- 4.1. Gdzie i kiedy korzystać z typów generycznych? (227)
- 4.2. Podstawowe wiadomości o typach generycznych (228)
- 4.3. Odczytywanie obiektu Type dla danych typu generycznego (235)
- 4.4. Zastępowanie typu ArrayList jego generycznym odpowiednikiem (236)
- 4.5. Zastąpienie obiektów Stack i Queue ich generycznymi odpowiednikami (240)
- 4.6. Implementacja powiązanych list (244)
- 4.7. Tworzenie typu wartości, który można zainicjować wartością null (247)
- 4.8. Odwrócenie porządku posortowanej listy (249)
- 4.9. Tworzenie kolekcji tylko do odczytu z wykorzystaniem
typów generycznych (271)
- 4.10. Zastąpienie typu Hashtable jego generycznym odpowiednikiem (273)
- 4.11. Korzystanie z pętli foreach dla generycznego typu Dictionary (276)
- 4.12. Ograniczenia dla argumentów opisujących typy (277)
- 4.13. Inicjowanie zmiennych generycznych na ich wartości domyślne (279)
- 5.0. Wprowadzenie (281)
- 5.1. Zamiana miejscami dwóch elementów w tablicy (283)
- 5.2. Szybkie odwracanie tablicy (284)
- 5.3. Odwracanie tablic dwuwymiarowych (286)
- 5.4. Odwracanie tablic postrzępionych (288)
- 5.5. Bardziej uniwersalna klasa StackTrace (289)
- 5.6. Określanie liczby wystąpień elementu na liście List<T> (294)
- 5.7. Wyodrębnianie wszystkich egzemplarzy określonego elementu z listy List<T> (297)
- 5.8. Wstawianie i usuwanie elementów z tablicy (300)
- 5.9. Utrzymywanie listy List<T> w stanie posortowanym (302)
- 5.10. Sortowanie indeksów i (lub) wartości obiektu klasy Dictionary (304)
- 5.11. Tworzenie obiektu Dictionary z ograniczeniami dla wartości minimalnej i maksymalnej (307)
- 5.12. Wyświetlanie danych z tablicy w postaci ciągu znaków rozdzielanych separatorami (310)
- 5.13. Zapisywanie migawek list w tablicy (311)
- 5.14. Utrzymywanie kolekcji pomiędzy sesjami aplikacji (312)
- 5.15. Sprawdzanie wszystkich elementów tablicy Array bądź List<T> (314)
- 5.16. Wykonywanie operacji dla każdego elementu danych typu Array bądź List<T> (315)
- 5.17. Tworzenie obiektów tylko do odczytu typu Array lub List<T> (317)
- 6.0. Wprowadzenie (319)
- 6.1. Implementacja zagnieżdżonych pętli foreach dla klasy (320)
- 6.2. Tworzenie własnej obsługi pętli foreach (324)
- 6.3. Tworzenie iteratorów dla typu generycznego (327)
- 6.4. Tworzenie iteratora dla typu niegenerycznego (329)
- 6.5. Tworzenie iteratorów z parametrami (331)
- 6.6. Definiowanie wielu iteratorów dla jednego typu (333)
- 6.7. Implementacja iteratorów jako operatorów przeciążonych (336)
- 6.8. Wymuszone zatrzymywanie iteratora (342)
- 6.9. Obsługa bloku finally w iteratorach (344)
- 6.10. Organizacja implementacji interfejsów (347)
- 6.11. Generowanie kodu spoza głównej ścieżki (351)
- 7.0. Wprowadzenie (355)
- 7.1. Weryfikacja parametrów kluczowych (361)
- 7.2. Gdzie należy przechwytywać i ponawiać zgłaszanie wyjątków? (364)
- 7.3. Identyfikacja wyjątków i ich zastosowanie (365)
- 7.4. Indywidualna obsługa wyjątków pochodnych (365)
- 7.5. Jak zapewnić, aby wyjątki nie były tracone w przypadku wykorzystania bloków finally? (369)
- 7.6. Obsługa wyjątków zgłaszanych przez metody wywoływane
za pomocą odbić (372)
- 7.7. Diagnozowanie problemów podczas ładowania kompilatów (374)
- 7.8. Odwzorowania pomiędzy zarządzanymi wyjątkami a wartościami HRESULT (376)
- 7.9. Obsługa wartości HRESULT definiowanych przez użytkownika (379)
- 7.10. Przeciwdziałanie nieobsłużonym wyjątkom (380)
- 7.11. Uzyskiwanie informacji o wyjątkach (382)
- 7.12. Jak szybko dostać się do meritum problemu? (385)
- 7.13. Tworzenie własnych typów opisu wyjątków (386)
- 7.14. Odczytywanie obrazu stosu (397)
- 7.15. Ustawienie pułapki w miejscu, gdzie może wystąpić wyjątek
"pierwszej szansy" (399)
- 7.16. Zapobieganie wyjątkowi TypeInitializationException (401)
- 7.17. Obsługa wyjątków zgłaszanych przez delegaty asynchroniczne (405)
- 7.18. Przekazywanie do wyjątków dodatkowych informacji za pośrednictwem pola Exception.Data (406)
- 7.19. Prezentacja wyjątków w sposób niestandardowy za pomocą wizualizatorów (408)
- 7.20. Postępowanie z nieobsłużonymi wyjątkami w aplikacjach WinForms (414)
- 8.0. Wprowadzenie (417)
- 8.1. Zarządzanie wynikami diagnostycznymi we wdrożonych aplikacjach (418)
- 8.2. Szczegółowe zarządzanie wynikami debugowania (śledzenia) (421)
- 8.3. Tworzenie własnych klas przełączników (424)
- 8.4. Warunkowa kompilacja bloków kodu (428)
- 8.5. Jak sprawdzić, czy proces przestał odpowiadać? (430)
- 8.6. Wykorzystanie dzienników zdarzeń w aplikacji (432)
- 8.7. Modyfikacja maksymalnego rozmiaru niestandardowego dziennika zdarzeń (438)
- 8.8. Wyszukiwanie zapisów w dzienniku zdarzeń (439)
- 8.9. Obserwacja specyficznego zapisu w dzienniku zdarzeń (443)
- 8.10. Wyszukiwanie wszystkich źródeł należących do określonego dziennika
zdarzeń (444)
- 8.11. Implementacja prostego licznika wydajności (446)
- 8.12. Implementacja liczników wydajności, które wymagają liczników bazowych (449)
- 8.13. Włączanie i wyłączanie złożonego kodu śledzenia (452)
- 8.14. Przechwytywanie standardowego wyniku procesu (455)
- 8.15. Tworzenie niestandardowego wyjścia debugowania dla klas użytkownika (457)
- 8.16. Odczytywanie ustawień bieżącej domeny AppDomain (459)
- 8.17. Programowe podwyższanie priorytetu procesu (462)
- 8.18. Analiza środowiska wykonawczego w celu diagnozowania problemów (463)
- 9.0. Wprowadzenie (465)
- 9.1. Zarządzanie czasem i miejscem uruchomienia delegatu w obrębie
delegatu multicast (466)
- 9.2. Odczytywanie zwracanych wyników każdego z delegatów
wchodzących w skład delegatu multicast (469)
- 9.3. Indywidualna obsługa wyjątków dla każdego z delegatów w obrębie delegatu multicast (471)
- 9.4. Konwersja wywołania delegatu z synchronicznego na asynchroniczne (474)
- 9.5. Opakowywanie zapieczętowanych klas w celu dodawania zdarzeń (477)
- 9.6. Przekazywanie specjalizowanych parametrów do zdarzenia i ze zdarzenia (483)
- 9.7. Zaawansowany mechanizm wyszukiwania interfejsów (488)
- 9.8. Zaawansowany mechanizm wyszukiwania składowych (491)
- 9.9. Obserwacja dodawania i modyfikowania elementów w tablicy Hashtable (495)
- 9.10. Wykorzystanie "haków" do klawiszy Windows (502)
- 9.11. Śledzenie operacji wykonywanych myszą i reagowanie na nie (508)
- 9.12. Zastosowanie metod anonimowych (509)
- 9.13. Lepsza konfiguracja metod obsługi zdarzeń (513)
- 9.14. Wykorzystywanie różnych modyfikatorów parametrów w metodach anonimowych (516)
- 9.15. Zastosowanie domknięć w języku C# (519)
- 9.16. Wykonywanie wielu operacji na liście z wykorzystaniem funktorów (523)
- 10.0. Wprowadzenie (527)
- 10.1. Przetwarzanie ciągów spełniających warunki wyrażenia regularnego (528)
- 10.2. Wyodrębnianie grup z obiektu MatchCollection (531)
- 10.3. Weryfikacja składni wyrażenia regularnego (533)
- 10.4. Szybki sposób wyszukiwania ostatniego podciągu spełniającego kryteria (535)
- 10.5. Zastępowanie znaków lub słów w ciągu znaków (536)
- 10.6. Ulepszanie prostej funkcji do zastępowania ciągów znaków (539)
- 10.7. Implementacja lepszego tokenizera (542)
- 10.8. Kompilacja wyrażeń regularnych (543)
- 10.9. Zliczanie wierszy tekstu (545)
- 10.10. Zwracanie całych wierszy w przypadku znalezienia podciągu pasującego do wzorca (548)
- 10.11. Wyszukiwanie określonego wystąpienia pasującego podciągu (551)
- 10.12. Wykorzystanie często używanych wzorców (553)
- 10.13. Dokumentowanie wyrażeń regularnych (556)
- 10.14. Zastosowanie wbudowanych wyrażeń regularnych do analizy stron ASP.NET (557)
- 11.0. Wprowadzenie (563)
- 11.1. Tworzenie skrótów dla typów danych (563)
- 11.2. Tworzenie kolejek z priorytetami (571)
- 11.3. Tworzenie kolejek dwukierunkowych (578)
- 11.4. Sprawdzanie zrównoważenia znaków lub ciągów (584)
- 11.5. Tworzenie odwzorowania jeden do wielu (588)
- 11.6. Tworzenie drzew binarnych (596)
- 11.7. Tworzenie drzewa n-arnego (608)
- 11.8. Tworzenie obiektu Set (619)
- 12.0. Wprowadzenie (631)
- 12.1. Tworzenie, kopiowanie, przenoszenie lub usuwanie pliku (632)
- 12.2. Operacje na atrybutach plików (634)
- 12.3. Zmiana nazwy pliku (637)
- 12.4. Ustalanie, czy plik istnieje (638)
- 12.5. Wybór metody otwarcia pliku lub strumienia dla zapisu i (lub) odczytu (639)
- 12.6. Losowy dostęp do części pliku (645)
- 12.7. Generowanie znaku EOL niezależnego od platformy (649)
- 12.8. Tworzenie pliku, zapisywanie do niego i odczytywanie z niego (650)
- 12.9. Ustalanie, czy istnieje katalog (657)
- 12.10. Tworzenie, kopiowanie, przenoszenie i usuwanie katalogu (657)
- 12.11. Operacje na atrybutach katalogów (659)
- 12.12. Zmiana nazwy katalogu (662)
- 12.13. Wyszukiwanie katalogów lub plików przy użyciu symboli wieloznacznych (663)
- 12.14. Odczytywanie drzewa katalogów (667)
- 12.15. Parsowanie ścieżki dostępu (669)
- 12.16. Parsowanie ścieżek dostępu w zmiennych środowiskowych (671)
- 12.17. Weryfikacja ścieżki dostępu (672)
- 12.18. Używanie w aplikacji pliku tymczasowego (676)
- 12.19. Otwieranie strumienia pliku przy użyciu jedynie uchwytu pliku (677)
- 12.20. Jednoczesne zapisywanie do wielu plików wyjściowych (679)
- 12.21. Uruchamianie i używanie narzędzi konsoli (682)
- 12.22. Blokowanie części pliku (683)
- 12.23. Wyszukiwanie w systemie plików konkretnych zmian w jednym lub więcej plikach lub katalogach (686)
- 12.24. Oczekiwanie na wykonanie określonej czynności w systemie plików (691)
- 12.25. Porównywanie wersji dwóch modułów wykonywalnych (694)
- 12.26. Uzyskiwanie informacji o wszystkich napędach obecnych w systemie (697)
- 12.27. Szyfrowanie i deszyfracja istniejącego pliku (700)
- 12.28. Kompresowanie i dekompresja plików (701)
- 13.0. Wprowadzenie (705)
- 13.1. Odczytywanie listy podzespołów zależnych (705)
- 13.2. Odczytywanie listy eksportowanych typów (708)
- 13.3. Odnajdywanie metod pokrytych (709)
- 13.4. Odnajdywanie składowych w podzespole (713)
- 13.5. Odnajdywanie składowych w interfejsie (715)
- 13.6. Ustalanie i odczytywanie typów zagnieżdżonych znajdujących się w podzespole (716)
- 13.7. Wyświetlanie hierarchii dziedziczenia typu (718)
- 13.8. Odnajdywanie podklas typu (720)
- 13.9. Odnajdywanie w podzespole wszystkich typów, które można serializować (721)
- 13.10. Filtrowanie danych w trakcie odczytywania składowych (723)
- 13.11. Dynamiczne wywoływanie składowych (727)
- 13.12. Definiowanie wskazówek dla zaciemniaczy kodu (730)
- 13.13. Ustalanie, czy typ lub metoda ma charakter ogólny (732)
- 13.14. Odczytywanie manifestu zasobów w kodzie źródłowym (734)
- 13.15. Odczytywanie informacji o zmiennych lokalnych (735)
- 13.16. Tworzenie typu ogólnego (737)
- 14.0. Wprowadzenie (739)
- 14.1. Odczytywanie nazwy komputera na podstawie adresu IP (739)
- 14.2. Odczytywanie adresu IP komputera o podanej nazwie (740)
- 14.3. Parsowanie URI (741)
- 14.4. Formowanie i weryfikacja URI bezwzględnego (744)
- 14.5. Obsługa błędów serwera WWW (746)
- 14.6. Komunikacja z serwerem WWW (748)
- 14.7. Przesyłanie żądań przez serwer proxy (750)
- 14.8. Odczytywanie kodu HTML z podanego adresu URL (751)
- 14.9. Wykorzystanie nowej kontrolki przeglądarki internetowej (753)
- 14.10. Wiązanie tabel baz danych z pamięcią podręczną (755)
- 14.11. Zapisywanie w pamięci podręcznej danych z wieloma powiązaniami (756)
- 14.12. Prekompilacja strony ASP.NET z poziomu kodu źródłowego (758)
- 14.13. Uwzględnianie i pomijanie sekwencji ucieczki w danych dla sieci WWW (761)
- 14.14. Wykorzystanie klasy UriBuilder (763)
- 14.15. Analiza i zmiana konfiguracji aplikacji sieciowej (765)
- 14.16. Praca z kodem HTML (767)
- 14.17. Zwiększanie wydajności pracy z HTTP przez zapisywanie wyników w pamięci podręcznej (770)
- 14.18. Sprawdzanie własnych stron obsługi błędów używanych przez serwer (771)
- 14.19. Odczytywanie odwzorowań aplikacji dla ASP.NET zdefiniowanych na serwerze IIS (774)
- 15.0. Wprowadzenie (777)
- 15.1. Wczytywanie i dostęp do danych XML w kolejności wyznaczonej w dokumencie (777)
- 15.2. Odczyt dokumentu XML z sieci WWW (780)
- 15.3. Wyszukiwanie informacji w dokumencie XML (782)
- 15.4. Weryfikacja poprawności danych XML (784)
- 15.5. Tworzenie dokumentu XML z poziomu kodu źródłowego (789)
- 15.6. Wykrywanie zmian w dokumencie XML (791)
- 15.7. Obsługa niedozwolonych znaków w ciągu znaków XML (794)
- 15.8. Przekształcanie danych XML (796)
- 15.9. Dzielenie dokumentu XML na części (800)
- 15.10. Składanie dokumentu XML z części (804)
- 15.11. Weryfikacja poprawności zmienionego dokumentu XML bez jego ponownego ładowania (808)
- 15.12. Rozszerzanie przekształceń XSLT (810)
- 15.13. Odczytywanie schematu z istniejących plików XML (813)
- 15.14. Przekazywanie parametrów do transformacji XSLT (815)
- 16.0. Wprowadzenie (819)
- 16.1. Tworzenie serwera TCP (819)
- 16.2. Tworzenie klienta TCP (824)
- 16.3. Symulowanie przetwarzania formularza (827)
- 16.4. Pobieranie danych z serwera (830)
- 16.5. Komunikacja przy użyciu potoków nazwanych (831)
- 16.6. Pingowanie z poziomu kodu źródłowego (850)
- 16.7. Wysyłanie poczty SMTP przy użyciu usługi SMTP (852)
- 16.8. Sprawdzanie parametrów dostępu do sieci (856)
- 16.9. Skanowanie portów komputera przy użyciu gniazd (861)
- 16.10. Używanie bieżących ustawień połączenia z Internetem (865)
- 16.11. Pobieranie pliku za pośrednictwem FTP (871)
- 17.0. Wprowadzenie (873)
- 17.1. Kontrola dostępu do typów w podzespole lokalnym (873)
- 17.2. Szyfrowanie i rozszyfrowywanie ciągu znaków (881)
- 17.3. Szyfrowanie i rozszyfrowywanie pliku (885)
- 17.4. Usuwanie danych dotyczących szyfrowania (889)
- 17.5. Sprawdzenie, czy ciąg znaków nie uległ uszkodzeniu w trakcie transmisji (892)
- 17.6. Przesłanianie mechanizmu dodającego wartość mieszającą do ciągu znaków (895)
- 17.7. Ulepszony generator liczb losowych (900)
- 17.8. Bezpieczne przechowywanie danych (901)
- 17.9. Zabezpieczanie asertacji bezpieczeństwa (907)
- 17.10. Zapobieganie niepożądanym zmianom w podzespole (909)
- 17.11. Sprawdzanie, czy podzespołowi nadano odpowiednie uprawnienia (912)
- 17.12. Minimalizowanie zakresu uprawnień podzespołu umożliwiających przeprowadzenie ataku (913)
- 17.13. Uzyskiwanie informacji dotyczących monitorowania i zabezpieczeń (914)
- 17.14. Nadawanie i odbieranie dostępu do pliku lub klucza rejestru (919)
- 17.15. Zabezpieczanie danych w postaci ciągów znaków (921)
- 17.16. Zabezpieczanie strumienia danych (924)
- 17.17. Szyfrowanie danych w pliku web.config (931)
- 17.18. Rozpoznawanie pełnej przyczyny zgłoszenia wyjątku SecurityException (933)
- 17.19. Zabezpieczanie procesu kodowania Unicode (935)
- 17.20. Pozyskiwanie bezpieczniejszego uchwytu pliku (936)
- 18.0. Wprowadzenie (939)
- 18.1. Tworzenie pól statycznych dla konkretnych wątków (939)
- 18.2. Zapewnianie dostępu o bezpiecznych wątkach do składowych klasy (942)
- 18.3. Zapobieganie cichemu zakończeniu wątków (947)
- 18.4. Odpytywanie asynchronicznej metody delegowanej (949)
- 18.5. Definiowanie czasu wygasania asynchronicznej metody delegowanej (952)
- 18.6. Uzyskiwanie powiadomienia o zakończeniu działania asynchronicznej metody delegowanej (954)
- 18.7. Ustalanie, czy żądanie skierowane do puli wątków zostanie zakolejkowane (957)
- 18.8. Konfigurowanie licznika czasu (959)
- 18.9. Bezpieczne przechowywanie danych wątku (962)
- 18.10. Przydzielanie dostępu do zasobu więcej niż jednemu klientowi przy użyciu semafora (965)
- 18.11. Synchronizowanie wielu procesów przy użyciu muteksu (969)
- 18.12. Zapewnianie współpracy między wątkami za pomocą zdarzeń (979)
- 18.13. Uzyskiwanie możliwości nadawania nazw własnym zdarzeniom (981)
- 18.14. Wykonywanie operacji atomowych wśród wątków (984)
- 19.0. Wprowadzenie (987)
- 19.1. Kontrolowanie zmian we wskaźnikach przekazywanych do metod (988)
- 19.2. Porównywanie wskaźników (991)
- 19.3. Nawigowanie po tablicach (992)
- 19.4. Operacje na wskaźniku na tablicę stałą (994)
- 19.5. Zwracanie wskaźnika na konkretny element tablicy (995)
- 19.6. Tworzenie i używanie tablicy wskaźników (996)
- 19.7. Zamiana nieznanych typów wskaźników (998)
- 19.8. Przekształcanie ciągu znaków w char* (1000)
- 19.9. Deklarowanie struktury o stałym rozmiarze z osadzoną tablicą (1001)
- 20.0. Wprowadzenie (1003)
- 20.1. Obsługa procesów zamknięcia systemu, zarządzania mocą lub zmian w sesji użytkownika (1003)
- 20.2. Sterowanie usługą (1007)
- 20.3. Uzyskiwanie listy procesów, w których załadowano podzespół (1010)
- 20.4. Używanie kolejek komunikatów na lokalnej stacji roboczej (1012)
- 20.5. Odnajdywanie ścieżki do bieżącej wersji .NET Framework (1015)
- 20.6. Ustalanie wersji zarejestrowanych w globalnej pamięci podręcznej
podzespołów (1015)
- 20.7. Odczytywanie ścieżki do katalogu Windows (1018)
- 20.8. Przechwytywanie danych wyjściowych ze standardowego strumienia
wyjścia (1018)
- 20.9. Uruchamianie kodu w jego własnej domenie AppDomain (1021)
- 20.10. Ustalanie wersji systemu operacyjnego oraz pakietu Service Pack (1022)
Przedmowa (17)
1. Liczby i typy wyliczeniowe (27)
2. Znaki i ciągi znaków (59)
3. Klasy i struktury (109)
4. Typy generyczne (227)
5. Kolekcje (281)
6. Iteratory i typy częściowe (319)
7. Obsługa wyjątków (355)
8. Diagnostyka (417)
9. Delegaty, zdarzenia i metody anonimowe (465)
10. Wyrażenia regularne (527)
11. Algorytmy i struktury danych (563)
12. Operacje wejścia-wyjścia w systemie plików (631)
13. Odzwierciedlanie (705)
14. Sieć WWW (739)
15. XML (777)
16. Praca w sieci (819)
17. Bezpieczeństwo (873)
18. Wątki i synchronizacja (939)
19. Kod niezabezpieczony (987)
20. Przybornik (1003)
Skorowidz (1027)
Oceny i opinie klientów: C#. Receptury. Wydanie II Jay Hilyard, Stephen Teilhet (5)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(2)
(0)
(0)
(1)
(0)
Jan Kiszkurno,
Data dodania: 2011-08-05 Ocena: 6 Opinia niepotwierdzona zakupem
Łukasz Jackowski,
Data dodania: 2008-02-18 Ocena: 6 Opinia niepotwierdzona zakupem
Sławek Orłowski,
Data dodania: 2007-11-19 Ocena: 5 Opinia niepotwierdzona zakupem
Andrzej Olchawa,
Data dodania: 2007-04-17 Ocena: 5 Opinia niepotwierdzona zakupem
Robert,
Data dodania: 2008-04-23 Ocena: 2 Opinia niepotwierdzona zakupem
więcej opinii