C# 8.0 w pigułce - Helion
Tytuł oryginału: C# 8.0 in a Nutshell: The Definitive Reference
ISBN: 978-83-283-7281-8
okładka: miękka
Data wydania: 2020-11-01
Księgarnia: Helion
Cena książki: 111,75 zł (poprzednio: 149,00 zł)
Oszczędzasz: 25% (-37,25 zł)
Osoby które kupowały "C# 8.0 w pigułce", wybierały także:
- Cisco CCNA 200-301. Kurs video. Administrowanie bezpieczeństwem sieci. Część 3 665,00 zł, (39,90 zł -94%)
- Cisco CCNA 200-301. Kurs video. Administrowanie urządzeniami Cisco. Część 2 665,00 zł, (39,90 zł -94%)
- Cisco CCNA 200-301. Kurs video. Podstawy sieci komputerowych i konfiguracji. Część 1 665,00 zł, (39,90 zł -94%)
- Impact of P2P and Free Distribution on Book Sales 427,14 zł, (29,90 zł -93%)
- Cisco CCNP Enterprise 350-401 ENCOR. Kurs video. Programowanie i automatyzacja sieci 443,33 zł, (39,90 zł -91%)
Spis treści
C# 8.0 w pigułce -- spis treści
Wstęp 11
1. Wprowadzenie do C# i .NET Core 17
- Obiektowość 17
- Bezpieczeństwo typów 18
- Zarządzanie pamięcią 19
- Platformy 19
- C# i Common Language Runtime 20
- Frameworki i biblioteki klas bazowych 20
- Stare i niszowe środowiska 22
- Windows Runtime 23
- Historia C# w pigułce 24
2. Podstawy języka C# 37
- Pierwszy program w języku C# 37
- Składnia 40
- Podstawy typów 43
- Typy liczbowe 51
- Typ logiczny i operatory 58
- Łańcuchy znaków i pojedyncze znaki 60
- Tablice 62
- Zmienne i parametry 67
- Wyrażenia i operatory 78
- Operatory null 82
- Instrukcje 84
- Przestrzenie nazw 93
3. Tworzenie typów w języku C# 101
- Klasy 101
- Dziedziczenie 117
- Typ object 126
- Struktury 130
- Modyfikatory dostępu 132
- Interfejsy 134
- Wyliczenia 140
- Typy zagnieżdżone 143
- Typy generyczne 145
4. Zaawansowane elementy języka C# 157
- Delegaty 157
- Zdarzenia 165
- Wyrażenia lambda 172
- Metody anonimowe 176
- Instrukcje try i wyjątki 176
- Wyliczenia i iteratory 185
- Typy wartościowe dopuszczające wartość null 189
- Typy referencyjne dopuszczające wartość null (C# 8) 195
- Metody rozszerzające 197
- Typy anonimowe 200
- Krotki 201
- Wzorce 205
- Atrybuty 208
- Atrybuty informacji wywołującego 210
- Wiązanie dynamiczne 211
- Przeciążanie operatorów 219
- Niebezpieczny kod i wskaźniki 222
- Dyrektywy preprocesora 226
- Dokumentacja XML 228
5. Ogólny zarys platformy 233
- .NET Standard 233
- Wersje środowiska i C# 236
- Zestawy referencyjne 237
- CLR i BCL 237
- Frameworki aplikacji 241
6. Podstawowe wiadomości o platformie 245
- Obsługa łańcuchów i tekstu 245
- Data i godzina 258
- Daty i strefy czasowe 265
- Formatowanie i parsowanie obiektów DateTime 270
- Standardowe łańcuchy formatu i flagi parsowania 275
- Inne mechanizmy konwersji 282
- Globalizacja 286
- Praca z liczbami 287
- Wyliczenia 291
- Struktura Guid 294
- Sprawdzanie równości 295
- Określanie kolejności 305
- Klasy pomocnicze 308
7. Kolekcje 313
- Przeliczalność 313
- Interfejsy ICollection i IList 320
- Klasa Array 323
- Listy, kolejki, stosy i zbiory 331
- Słowniki 340
- Kolekcje i pośredniki z możliwością dostosowywania 346
- Niezmienne kolekcje 351
- Dołączanie protokołów równości i porządkowania 355
8. Zapytania LINQ 361
- Podstawy 361
- Składnia płynna 363
- Wyrażenia zapytań 369
- Wykonywanie opóźnione 373
- Podzapytania 379
- Tworzenie zapytań złożonych 382
- Strategie projekcji 386
- Zapytania interpretowane 388
- EF Core 394
- Budowanie wyrażeń zapytań 405
9. Operatory LINQ 411
- Informacje ogólne 412
- Filtrowanie 415
- Projekcja 419
- Łączenie 430
- Porządkowanie 437
- Grupowanie 440
- Operatory zbiorów 443
- Metody konwersji 444
- Operatory elementów 447
- Metody agregacyjne 449
- Kwantyfikatory 453
- Metody generujące 454
10. LINQ to XML 457
- Przegląd architektury 457
- Informacje ogólne o X-DOM 458
- Tworzenie drzewa X-DOM 461
- Nawigowanie i wysyłanie zapytań 464
- Modyfikowanie drzewa X-DOM 468
- Praca z wartościami 471
- Dokumenty i deklaracje 474
- Nazwy i przestrzenie nazw 477
- Adnotacje 482
- Projekcja do X-DOM 483
11. Inne technologie XML i JSON 487
- Klasa XmlReader 487
- Klasa XmlWriter 494
- Typowe zastosowania klas XmlReader i XmlWriter 496
- Praca z formatem JSON 501
12. Zwalnianie zasobów i mechanizm usuwania nieużytków 509
- IDisposable, Dispose i Close 509
- Automatyczne usuwanie nieużytków 515
- Finalizatory 518
- Jak działa mechanizm usuwania nieużytków? 522
- Wycieki pamięci zarządzanej 529
- Słabe odwołania 532
13. Diagnostyka 537
- Kompilacja warunkowa 537
- Debugowanie i klasy monitorowania 541
- Integracja z debuggerem 544
- Procesy i wątki procesów 545
- Klasy StackTrace i StackFrame 546
- Dziennik zdarzeń Windows 548
- Liczniki wydajności 550
- Klasa Stopwatch 554
- Międzyplatformowe narzędzia diagnostyczne 555
14. Współbieżność i asynchroniczność 559
- Wprowadzenie 559
- Wątki 560
- Zadania 576
- Reguły asynchroniczności 584
- Funkcje asynchroniczne w języku C# 589
- Wzorce asynchroniczności 608
- Przestarzałe wzorce 616
15. Strumienie i wejście-wyjście 621
- Architektura strumienia 621
- Użycie strumieni 623
- Adapter strumienia 637
- Kompresja strumienia 645
- Praca z plikami w postaci archiwum ZIP 648
- Operacje na plikach i katalogach 649
- Plikowe operacje wejścia-wyjścia w UWP 658
- Bezpieczeństwo systemu operacyjnego 663
- Mapowanie plików w pamięci 665
16. Sieć 671
- Architektura sieci 671
- Adresy i porty 674
- Adresy URI 675
- Klasy po stronie klienta 677
- Praca z HTTP 689
- Tworzenie serwera HTTP 693
- Użycie FTP 696
- Użycie DNS 698
- Wysyłanie poczty elektronicznej za pomocą SmtpClient 699
- Użycie TCP 700
- Otrzymywanie poczty elektronicznej POP3 za pomocą TCP 703
- TCP w UWP 705
17. Serializacja 707
- Koncepcje serializacji 707
- Serializator XML 711
- Serializator JSON 720
- Serializator binarny 729
- Atrybuty serializacji binarnej 730
- Serializacja binarna przy użyciu interfejsu ISerializable 732
18. Zestawy 737
- Co znajduje się w zestawie? 737
- Silne nazwy i podpisywanie zestawu 741
- Nazwy zestawów 743
- Technologia Authenticode 745
- Zasoby i zestawy satelickie 748
- Ładowanie, znajdowanie i izolowanie zestawów 755
19. Refleksja i metadane 775
- Refleksja i aktywacja typów 776
- Refleksja i wywoływanie składowych 782
- Refleksja dla zestawów 794
- Praca z atrybutami 795
- Generowanie dynamicznego kodu 799
- Emitowanie zestawów i typów 806
- Emitowanie składowych typów 809
- Emitowanie generycznych typów i klas 814
- Kłopotliwe cele emisji 816
- Parsowanie IL 819
20. Programowanie dynamiczne 825
- Dynamiczny system wykonawczy języka 825
- Unifikacja typów liczbowych 827
- Dynamiczne wybieranie przeciążonych składowych 828
- Implementowanie obiektów dynamicznych 834
- Współpraca z językami dynamicznymi 837
21. Kryptografia 839
- Informacje ogólne 839
- Windows Data Protection 839
- Obliczanie skrótów 841
- Szyfrowanie symetryczne 843
- Szyfrowanie kluczem publicznym i podpisywanie 848
22. Zaawansowane techniki wielowątkowości 853
- Przegląd technik synchronizacji 854
- Blokowanie wykluczające 854
- Blokady i bezpieczeństwo ze względu na wątki 862
- Blokowanie bez wykluczania 868
- Sygnalizacja przy użyciu uchwytów zdarzeń oczekiwania 874
- Klasa Barrier 881
- Leniwa inicjalizacja 882
- Pamięć lokalna wątku 885
- Zegary 888
23. Programowanie równoległe 893
- Dlaczego PFX? 894
- PLINQ 897
- Klasa Parallel 909
- Równoległe wykonywanie zadań 915
- Klasa AggregateException 924
- Kolekcje współbieżne 927
- Klasa BlockingCollection
929
24. Struktury Span 25. Współdziałanie macierzyste i poprzez COM 943 26. Wyrażenia regularne 965 27. Kompilator Roslyn 985