Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ C#

C# 6.0 - Księga przepisów. Rozwiązania dla programistów C# Język: 1

978-83-7541-160-7

Cena Brutto: 126.00

Cena netto: 120.00

Ilość:
Wersja: Drukowana
Autor Jay Hilyard, Stephen Teilhet
Liczba_stron 768
Wydawnictwo O'Reilly Media
Oprawa miękka
Data_Wydania 2015-12-22

C# 6.0

Księga przepisów. ROZWIĄZANIA DLA PROGRAMISTÓW C#

___________________________________________________________________________________


          Nowa wersja tego języka i nowe wydanie bestsellerowej książki, w pełni zaktualizowane do wersji C# 6.0 omawiający i demonstrujący nowe funkcjonalności tego języka - a trochę ich jest.

C# 6.0 Księga przepisów - co w niej znajdziemy.


       Podręcznik ten oferuje ponad 150 użytecznych rozwiązań dla typowych i ambitniejszych  problemów, z którymi muszą sobie radzić programiści C# w codziennej pracy.
     Większość przykładów zostało oczywiście zaprezentowanych z wykorzystaniem nowych funkcjonalności C# 6.0. Śmiało można powiedzieć że to lektura obowiązkowa dla każdego programisty preferującego ogólniejsze rozwiązania języka C# i szukającego szybkich odpowiedzi na teoretyczne pytania.
C# 6.0   Księga przepisów udostępnia nowe przepisy dla metod asynchronicznych, obiektów dynamicznych, zaawansowanej obsługi błędów, kompilatora Rosyln i jeszcze więcej.

C# 6.0 Księga przepisów - omawiane zagadnienia.

  • Klasy i typy ogólne
  • Kolekcje, wyliczenia i iteratory
  • Typy danych
  • Wyrażenia LINQ i Lambda
  • Obsługa wyjątków
  • Odbicia i programowanie dynamiczne
  • Wyrażenia regularne
  • Interakcja z systemem plików
  • Praca w sieci i Web
  • Wykorzystanie XML
  • Wątkowanie, synchronizacja i współbieżność
Materiał zawarty w tej książce bardzo dobrze opisuje cytat z okładki:
'..Każdy przepis w książce zawiera przetestowany kod, który można pobrać z witryny oreilly.com i wykorzystać we własnych aplikacjach, przy czym do każdego z nich dołączone jest szczegółowe wyjaśnienie, jak i dlaczego działa pokazana technika. Do korzystania z książki i dołączonych przykładów nie trzeba być doświadczonym programistą C# lub .NET. Trzeba jedynie być kimś, kto chce rozwiązać problem już teraz, bez konieczności poznawania najpierw całej powiązanej teorii...'

Reasumując, to książka którą warto polecić wszystkim, którzy znają ten język, a chcieli by poznać jak poprawnie i wydajnie z niego korzystać w oparciu o funkcjonalności jego najnowszej wersji 6.0.

Pragniemy Państwa zapewnić, iż dokładamy wszelkich możliwych starań, by opisy książek i podręczników, zawarte na naszych stronach internetowych, zawierały bieżące i wiarygodne materiały. Może jednak, mimo naszych wysiłków, w opisy książek wkraść się przekłamanie z naszej strony niezamierzone. Nie może to stanowić powodu do roszczeń. O ile macie Państwo jakiekolwiek pytania lub wątpliwości - prosimy o kontakt z naszym ekspertem lub działem handlowym. Postaramy  się odpowiedzieć na wszystkie Państwa pytania zanim podejmiecie Państwo decyzje o złożeniu zamówienia.
#


Wstęp... . . . . . . . . .xi

1 Klasy i typy generyczne.. . . . . . . . . . 1

1.0 Wprowadzenie.. . . . . . . .1

1.1 Tworzenie unii.. . . . . . . .3

1.2 Umożliwianie sortowania typu.. . . . . . . . . . . . . . .6

1.3 Umożliwianie przeszukiwania typu.. . . . . . . . . .11

1.4 Zwracanie z metody wielu elementów. . . . . . . .14

1.5 Parsowanie parametrów wiersza poleceń. . . . . .18

1.6 Inicjowanie stałego pola w czasie wykonywania . . . . . . . . .. . . . .31

1.7 Tworzenie klonowalnych klas.. . . . . . . . . . . . . . .34

1.8 Zapewnianie prawidłowego usuwania obiektu.38

1.9 Kiedy i gdzie stosować typy generyczne. . . . . . .41

1.10 Wprowadzenie do typów generycznych. . . . . . .42

1.11 Odwracanie zawartości posortowanej listy.. . . .51

1.12 Ograniczanie argumentów typu.. . . . . . . . . . . . .54

1.13 Inicjowanie zmiennych generycznych do ich domyślnych wartości. . . .57

1.14 Dodawanie punktów zaczepienia do wygenerowanych obiektów. . . . . .59

1.15 Kontrolowanie wywołań delegatów wewnątrz delegatu zbiorowego . . .62

1.16 Domknięcia w C#... . . .70

1.17 Wykonywanie operacji na listach za pomocą funktorów. . . . . . . . . .76

1.18 Kontrolowanie inicjalizacji pól struktury. . . . . .80

1.19 Bardziej przystępne sprawdzanie wartości null.85


2 Kolekcje, enumeratory i iteratory.89

2.0 Wprowadzenie.. . . . . . .89

2.1 Wyszukiwanie zduplikowanych elementów na liście List<T> . . . . . . . . .92

2.2 Utrzymywanie listy List<T> w posortowanej postaci. . . . . . . . . . . . . . . .97

2.3 Sortowanie kluczy i/lub wartości słownika.. . . .99

2.4 Tworzenie słownika z wartościami granicznymi. . . . . . . . . . . . . . . . . . .101

2.5 Utrwalanie kolekcji pomiędzy sesjami aplikacji . . . . . . . . . . . . . . . . . . .104

2.6 Testowanie elementów tablicy lub listy List<T> . . . . . . . . . . . . . . . . . . .106

2.7 Tworzenie niestandardowych enumeratorów.108

2.8 Korzystanie z iteratorów i bloków finally. . . . .113

2.9 Implementowanie w klasie zagnieżdżonych pętli foreach . . . . . . . . . . .117

2.10 Korzystanie z bezpiecznego wątkowo słownika dla współbieżnego dostępu bez blokowania. . . . . .122


3 Typy danych... . . . . . . . . . . . . . . . . .131

3.0 Wprowadzenie.. . . . . .131

3.1 Kodowanie danych binarnych przy użyciu formatu Base64 . . . . . . . . .133

3.2 Dekodowanie danych binarnych zakodowanych formatem Base64. . .135

3.3 Powrotne konwertowanie łańcucha znaków zwróconego z tablicy Byte[] do typu string. . .  . . .137

3.4 Przekazywanie łańcucha znaków do metody przyjmującej wyłącznie Byte[].. . . . .138

3.5 Sprawdzanie, czy łańcuch znakowy jest poprawną liczbą . . . . . . . . . . .140

3.6 Zaokrąglanie wartości zmiennoprzecinkowej.141

3.7 Wybieranie algorytmu zaokrąglania. . . . . . . . .142

3.8 Bezpieczne wykonywanie zawężającego rzutowania numerycznego . .143

3.9 Testowanie pod kątem poprawności wartości typu wyliczeniowego . .146

3.10 Wykorzystywanie członków typów wyliczeniowych w masce bitowej 149

3.11 Sprawdzanie, czy któraś z flag typu wyliczeniowego została ustawiona... . . . . . . . . .152


4 Zapytania LINQ i wyrażenia lambda.. . . . . . . . . . . . . . . . .157

4.0 Wprowadzenie.. . . . . .157

4.1 Odpytywanie kolejki komunikatów.. . . . . . . . .160

4.2 Praca z danymi z wykorzystaniem semantyki zbiorów. . . . . . . . . . . . . .165

4.3 Ponowne wykorzystywanie sparametryzowanych zapytań LINQ do SQL.. . . .  . . .170

4.4 Sortowanie wyników w zależności od kultury.172

4.5 Dodawanie rozszerzeń funkcjonalnych do wykorzystania w LINQ. . .176

4.6 Odpytywanie i łączenie różnych repozytoriów danych . . . . . . . . . . . . .180

4.7 Pozyskiwanie danych z plików konfiguracyjnych przy użyciu LINQ. .184

4.8 Tworzenie kodu XML bezpośrednio z bazy danych . . . . . . . . . . . . . . . .187

4.9 Selektywne wybieranie wyników zapytania. . .202

4.10 LINQ i kolekcje niewspierające interfejsu IEnumerable<T>. . . . . . . . .206

4.11 Zaawansowane wyszukiwanie interfejsu.. . . . .208

4.12 Korzystanie z wyrażeń lambda.. . . . . . . . . . . . .211

4.13 Korzystanie w wyrażeniach lambda z innych modyfikatorów parametrów... . .. . .216

4.14 Przyspieszanie operacji LINQ z użyciem współbieżności . . . . . . . . . . .220


5 Debugowanie i obsługa wyjątków. . . . . . . . . . . . . . . . . . .233

5.0 Wprowadzenie.. . . . . .233

5.1 Wyłapywanie i ponowne rzucanie wyjątków. .241

5.2 Obsługa wyjątków rzucanych z metod wywołanych w ramach odbicia.. . . . .  . . .243

5.3 Tworzenie nowego typu wyjątku. . . . . . . . . . . .246

5.4 Przerywanie na wyjątku pierwszej szansy. . . .256

5.5 Obsługiwanie wyjątków rzucanych z asynchronicznego delegatu . . . .261

5.6 Dodawanie do wyjątków dodatkowych informacji z użyciem właściwości Exception.Data. . . . .. . .263

5.7 Praca z nieobsłużonymi wyjątkami w aplikacjach WinForms. . . . . . . .266

5.8 Praca z nieobsłużonymi wyjątkami w aplikacjach WPF. . . . . . . . . . . . .268

5.9 Ustalanie, czy proces przestał odpowiadać.. . .271

5.10 Korzystanie w aplikacji z dzienników zdarzeń. . . . . . . . . . . . . . . . . . . . .273

5.11 Monitorowanie dziennika zdarzeń pod kątem konkretnego wpisu . . .286

5.12 Implementowanie prostego licznika wydajności . . . . . . . . . . . . . . . . . . .287

5.13 Tworzenie niestandardowych wyświetlaczy debugowania dla naszych klas... . . . . . . .291

5.14 Wykrywanie miejsca powstania wyjątku. . . . .293

5.15 Obsługa wyjątków w scenariuszach asynchronicznych . . . . . . . . . . . . .297

5.16 Selektywne przetwarzanie wyjątków. . . . . . . . .304


6 Odbicie i programowanie dynamiczne. . . . . . . . . . . . . . .309

6.0 Wprowadzenie.. . . . . .309

6.1 Listowanie wykorzystywanych zestawów. . . . .310

6.2 Określanie charakterystyki typów w zestawach. . . . . . . . . . . . . . . . . . . .316

6.3 Określanie charakterystyki dziedziczenia.. . . .321

6.4 Wywoływanie członków z użyciem odbicia. . .327

6.5 Pozyskiwanie informacji ze zmiennej lokalnej . . . . . . . . . . . . . . . . . . . .332

6.6 Tworzenie typu generycznego. . . . . . . . . . . . . .335

6.7 Różnica pomiędzy dynamic a object. . . . . . . . .337

6.8 Dynamiczne tworzenie obiektów.. . . . . . . . . . .340

6.9 Modyfikowanie obiektów pod kątem rozszerzalności . . . . . . . . . . . . . .345


7 Wyrażenia regularne.. . . . . . . . . . .357

7.0 Wprowadzenie.. . . . . .357

7.1 Wyodrębnianie grup z obiektu MatchCollection. . . . . . . . . . . . . . . . . . .358

7.2 Weryfikowanie składni wyrażeń regularnych.362

7.3 Rozszerzanie podstawowej funkcji zamiany tekstu. . . . . . . . . . . . . . . . .364

7.4 Implementowanie lepszego tokenizatora. . . . .367

7.5 Zwracanie pełnego wiersza, w którym znaleziono dopasowanie . . . . .369

7.6 Wyszukiwanie określonych wystąpień dopasowania . . . . . . . . . . . . . . .374

7.7 Korzystanie z powszechnych wzorców. . . . . . .376


8 Operacje wejścia-wyjścia w systemie plików.. . . . . . . . .381

8.0 Wprowadzenie.. . . . . .381

8.1 Wyszukiwanie katalogów lub plików za pomocą znaków

wieloznacznych... . . . .382

8.2 Uzyskiwanie drzewa katalogów. . . . . . . . . . . . .388

8.3 Parsowanie ścieżki.. . .393

8.4 Uruchamianie i używanie narzędzi konsoli. . .395

8.5 Blokowanie fragmentów pliku. . . . . . . . . . . . . .397

8.6 Oczekiwanie na wystąpienie akcji w systemie plików. . . . . . . . . . . . . . .402

8.7 Porównywanie informacji o wersji dwóch modułów wykonywalnych 405

8.8 Wyszukiwanie informacji o wszystkich nośnikach dostępnych w systemie.. . . . . . .408

8.9 Kompresja i dekompresja plików.. . . . . . . . . . .411


9 Zagadnienia sieciowe.. . . . . . . . . .423

9.0 Wprowadzenie.. . . . . .423

9.1 Obsługa błędów serwera WWW. . . . . . . . . . . .424

9.2 Komunikacja z serwerem WWW. . . . . . . . . . .426

9.3 Przekazywanie żądań przez proxy. . . . . . . . . . .428

9.4 Pobieranie HTML na podstawie adresu URL.430

9.5 Używanie kontrolki przeglądarki internetowej . . . . . . . . . . . . . . . . . . . .431

9.6 Prekompilacja strony ASP.NET z poziomu programu . . . . . . . . . . . . . .434

9.7 Stosowanie sekwencji specjalnych i ich usuwanie z danych dla sieci WWW... . . . . . . .438

9.8 Sprawdzanie niestandardowych stron błędów serwera WWW. . . . . . .440

9.9 Tworzenie serwera TCP. . . . . . . . . . . . . . . . . . .445

9.10 Tworzenie klienta TCP. . . . . . . . . . . . . . . . . . . .455

9.11 Symulacja przesłania formularza. . . . . . . . . . . .464

9.12 Przesyłanie danych za pośrednictwem HTTP.468

9.13 Komunikacja z wykorzystaniem potoków nazwanych . . . . . . . . . . . . . .472

9.14 Pingowanie z poziomu kodu.. . . . . . . . . . . . . . .481

9.15 Wysyłanie poczty SMTP z wykorzystaniem usługi SMTP. . . . . . . . . . .483

9.16 Skanowanie portów na komputerze za pomocą gniazd . . . . . . . . . . . . .486

9.17 Wykorzystanie bieżących ustawień internetowych . . . . . . . . . . . . . . . . .491

9.18 Przenoszenie plików za pomocą FTP. . . . . . . .499


10 XML... . . . .503

10.0 Wprowadzenie.. . . . . .503

10.1 Odczyt i dostęp do danych XML w kolejności zdefiniowanej w dokumencie... . . . . .504

10.2 Przeszukiwanie treści dokumentu XML. . . . . .508

10.3 Weryfikacja XML.. . . .513

10.4 Wykrywanie zmian w dokumencie XML. . . . .519

10.5 Obsługa niedozwolonych znaków w łańcuchu XML . . . . . . . . . . . . . . .522

10.6 Przekształcanie XML..527

10.7 Weryfikacja zmodyfikowanych dokumentów XML bez ich ponownego wczytywania. . . . . . . . . . . . . . . . . .536

10.8 Rozszerzanie przekształceń.. . . . . . . . . . . . . . . .541

10.9 Uzyskiwanie schematów na podstawie istniejących plików XML. . . . .548

10.10 Przekazywanie parametrów do przekształceń.550


11 Bezpieczeństwo.. . . . . . . . . . . . . . .557

11.0 Wprowadzenie.. . . . . .557

11.1 Szyfrowanie i odszyfrowywanie łańcucha. . . .557

11.2 Szyfrowanie i odszyfrowywanie pliku. . . . . . . .562

11.3 Usuwanie informacji dotyczących szyfrowania . . . . . . . . . . . . . . . . . . . .567

11.4 Zapobieganie uszkodzenia łańcucha podczas transferu danych . . . . . .570

11.5 Gwarantowanie bezpieczeństwa asercji. . . . . .578

11.6 Weryfikacja nadania określonych uprawnień podzespołowi. . . . . . . . .581

11.7 Minimalizowanie obszaru ataków na podzespół. . . . . . . . . . . . . . . . . . .582

11.8 Uzyskiwanie informacji na temat zabezpieczeń i inspekcji . . . . . . . . . .583

11.9 Nadawanie lub odbieranie dostępu do pliku lub do klucza rejestru . . .589

11.10 Zabezpieczanie danych łańcuchowych. . . . . . .592

11.11 Zabezpieczanie danych strumieniowych. . . . .595

11.12 Szyfrowanie informacji w pliku web.config. . .609

11.13 Uzyskiwanie bezpieczniejszego dojścia do pliku . . . . . . . . . . . . . . . . . . .611

11.14 Przechowywanie haseł.. . . . . . . . . . . . . . . . . . . .613


12 Wątki, synchronizacja i współbieżność. . . . . . . . . . . . . . .623

12.0 Wprowadzenie.. . . . . .623

12.1 Tworzenie pól statycznych dla określonych wątków. . . . . . . . . . . . . . . .624

12.2 Zapewnianie bezpiecznego wątkowo dostępu do elementów klasy . . .627

12.3 Zapobieganie dyskretnemu zakończeniu wątku . . . . . . . . . . . . . . . . . . .634

12.4 Powiadamianie o zakończeniu działania asynchronicznego delegata .636

12.5 Przechowywanie prywatnych danych własnych wątku. . . . . . . . . . . . . .639

12.6 Nadawanie dostępu do zasobów wielu klientom z wykorzystaniem semafora. . . . . . . . . . . . . . . .643

12.7 Synchronizowanie wielu procesów za pomocą muteksu . . . . . . . . . . . .649

12.8 Wykorzystywanie zdarzeń w celu zapewnienia współpracy wątków . .659

12.9 Wykonywanie operacji niepodzielnych w wątkach. . . . . . . . . . . . . . . . .662

12.10 Optymalizacja dostępu polegającego głównie na odczycie danych . . .664

12.11 Jak sprawić, by nasze żądania do bazy danych były bardziejskalowalne.. . . . . . . . . .679

12.12 Uruchamianie zadań w określonej kolejności.682


13 Przybornik.. . . . . . . . . . . . . . . . . . . .689

13.0 Wprowadzenie.. . . . . .689

13.1 Obsługa zamykania systemu, zarządzania energią lub zmian w sesji użytkownika.. .689

13.2 Kontrola usługi.. . . . . .695

13.3 Pobieranie listy procesów, w których wczytany jest podzespół . . . . . . .700

13.4 Używanie kolejek komunikatów na lokalnej stacji roboczej . . . . . . . . .704

13.5 Przechwytywanie wyniku ze standardowego strumienia wyjścia . . . . .709

13.6 Przechwytywanie standardowego wyjścia procesu . . . . . . . . . . . . . . . . .711

13.7 Uruchamianie kodu we własnej domenie AppDomain . . . . . . . . . . . . .714

13.8 Sprawdzanie wersji systemu operacyjnego i dodatku Service Pack . . .716

Indeks... . . . . . . .719

O autorach... . .745

powrót
 
Produkty Podobne
Współbieżność w języku C#. Receptury
Effective C# (Covers C# 6.0), (includes Content Update Program): 50 Specific Ways to Improve Your C#, 3rd Edition
Begin to Code with C#
C# 6.0 w pigułce. Wydanie VI
Visual C# How to Program, 6th Edition
C# 6 for Programmers, 6th Edition
C# 6.0. Kompletny przewodnik dla praktyków. Wydanie V
C# 6.0. Leksykon kieszonkowy
C#. Ćwiczenia. Wydanie IV
Building Maintainable Software, C# Edition
Więcej produktów