- Wyprzedaż!
Opis produktu: C Sharp 9.0 w pigułce - Joseph Albahari
C to język programowania stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu. Wersja 9.0 jest ósmą poważną aktualizacją tego języka. Książka "C Sharp 9.0 w pigułce" jest przeznaczona dla początkujących programistów, którzy chcą poznać język od podstaw. Zawiera dokładne informacje na temat języka C#, Common Language Runtime (CLR), a także biblioteki klas .NET 5 Base Class Library (BCL). Nowe składniki języka C# 9.0 i związanej z nim platformy specjalnie oznaczono, dzięki czemu książka może też służyć jako podręcznik do nauki C# 8.0 i C# 7.0. Znalazły się tu precyzyjne opisy pojęć i przypadków użycia z naciskiem na praktyczność zastosowań.
Książka zawiera informacje takie jak:
- Składnia C#, definiowanie zmiennych, wskaźniki, domknięcia i wzorce
- Tajniki LINQ, dane i praca z bazą danych
- Programowanie współbieżne i asynchroniczne
- Zaawansowane techniki pracy z wątkami i programowanie równoległe
- Narzędzia platformy.NET i struktury Span oraz kryptografia
Autor książki "C Sharp 9.0 w pigułce"
Joseph Albahari jest autorem kilku cenionych książek o programowaniu oraz twórcą LINQPada. LINQPad to popularne narzędzie pomocne w implementowaniu zapytań do baz danych w LINQ.
Informacje o książce "C Sharp 9.0 w pigułce"
- Tytuł oryginalny: C# 9.0 in a Nutshell: The Definitive Reference 1st Edition
- Autor: Joseph Albahari
- Tłumaczenie: Łukasz Piwko, Robert Górczyński, Jakub Hubisz
- ISBN Książki drukowanej: 978-83-283-8198-8
- Rok wydania: 2022
- Liczba stron: 1000
- Oprawa: twarda
- Format: 164 x 239 mm
- Wydawnictwo: Helion S.A.
Spis treści
Wstęp 11
1. Wprowadzenie do C# i .NET 17
- Obiektowość 17
- Bezpieczeństwo typów 18
- Zarządzanie pamięcią 19
- Platformy 19
- Historia C# w pigułce 24
2. Podstawy języka C# 39
- Pierwszy program w języku C# 39
- Składnia 42
- Podstawy typów 44
- Typy liczbowe 54
- Typ logiczny i operatory 63
- Łańcuchy znaków i pojedyncze znaki 65
- Tablice 67
- Zmienne i parametry 72
- Wyrażenia i operatory 83
- Operatory null 87
- Instrukcje 88
- Przestrzenie nazw 99
3. Tworzenie typów w języku C# 105
- Klasy 105
- Dziedziczenie 124
- Typ object 134
- Struktury 138
- Modyfikatory dostępu 140
- Interfejsy 142
- Wyliczenia 148
- Typy zagnieżdżone 152
- Typy generyczne 153
4. Zaawansowane elementy języka C# 166
- Delegaty 166
- Zdarzenia 174
- Wyrażenia lambda 180
- Metody anonimowe 185
- Instrukcje try i wyjątki 186
- Wyliczenia i iteratory 194
- Typy wartościowe dopuszczające wartość null 199
- Typy referencyjne dopuszczające wartość null 205
- Metody rozszerzające 207
- Typy anonimowe 210
- Krotki 211
- Rekordy (C# 9) 214
- Wzorce 224
- Atrybuty 229
- Atrybuty informacji wywołującego 231
- Wiązanie dynamiczne 232
- Przeciążanie operatorów 239
- Niebezpieczny kod i wskaźniki 243
- Dyrektywy preprocesora 248
- Dokumentacja XML 250
5. Ogólny zarys platformy 255
- .NET Standard 255
- Wersje środowiska i C# 258
- Zestawy referencyjne 258
- CLR i BCL 259
- Warstwy aplikacji 263
6. Podstawowe wiadomości o platformie .NET 267
- Obsługa łańcuchów i tekstu 267
- Data i godzina 280
- Daty i strefy czasowe 288
- Formatowanie i parsowanie obiektów DateTime 292
- Standardowe łańcuchy formatu i flagi parsowania 298
- Inne mechanizmy konwersji 304
- Globalizacja 308
- Praca z liczbami 309
- Wyliczenia 314
- Struktura Guid 317
- Porównywanie 318
- Określanie kolejności 328
- Klasy pomocnicze 331
7. Kolekcje 336
- Przeliczalność 336
- Interfejsy ICollection i IList 343
- Klasa Array 346
- Listy, kolejki, stosy i zbiory 354
- Słowniki 363
- Kolekcje i pośredniki z możliwością dostosowywania 369
- Niezmienne kolekcje 374
- Dołączanie protokołów równości i porządkowania 378
8. Zapytania LINQ 385
- Podstawy 385
- Składnia płynna 387
- Wyrażenia zapytań 393
- Wykonywanie opóźnione 397
- Podzapytania 403
- Tworzenie zapytań złożonych 406
- Strategie projekcji 410
- Zapytania interpretowane 412
- EF Core 418
- Budowanie wyrażeń zapytań 429
9. Operatory LINQ 434
- Informacje ogólne 435
- Filtrowanie 438
- Projekcja 442
- Łączenie 453
- Porządkowanie 461
- Grupowanie 464
- Operatory zbiorów 467
- Metody konwersji 468
- Operatory elementów 471
- Metody agregacyjne 473
- Kwantyfikatory 477
- Metody generujące 478
10. LINQ to XML 480
- Przegląd architektury 480
- Informacje ogólne o X-DOM 481
- Tworzenie drzewa X-DOM 484
- Nawigowanie i wysyłanie zapytań 487
- Modyfikowanie drzewa X-DOM 492
- Praca z wartościami 495
- Dokumenty i deklaracje 497
- Nazwy i przestrzenie nazw 501
- Adnotacje 506
- Projekcja do X-DOM 507
11. Inne technologie XML i JSON 511
- Klasa XmlReader 511
- Klasa XmlWriter 519
- Typowe zastosowania klas XmlReader i XmlWriter 521
- Praca z formatem JSON 526
12. Zwalnianie zasobów i mechanizm usuwania nieużytków 533
- IDisposable, Dispose i Close 533
- Automatyczne usuwanie nieużytków 539
- Finalizatory 541
- Jak działa mechanizm usuwania nieużytków? 546
- Wycieki pamięci zarządzanej 553
- Słabe odwołania 556
13. Diagnostyka 561
- Kompilacja warunkowa 561
- Debugowanie i klasy monitorowania 565
- Integracja z debuggerem 568
- Procesy i wątki procesów 569
- Klasy StackTrace i StackFrame 570
- Dziennik zdarzeń Windows 572
- Liczniki wydajności 574
- Klasa Stopwatch 578
- Międzyplatformowe narzędzia diagnostyczne 579
14. Współbieżność i asynchroniczność 583
- Wprowadzenie 583
- Wątki 584
- Zadania 600
- Reguły asynchroniczności 609
- Funkcje asynchroniczne w języku C# 614
- Wzorce asynchroniczności 633
- Przestarzałe wzorce 641
15. Strumienie i wejście-wyjście 645
- Architektura strumienia 645
- Użycie strumieni 647
- Adapter strumienia 661
- Kompresja strumienia 669
- Praca z plikami w postaci archiwum ZIP 672
- Operacje na plikach i katalogach 673
- Plikowe operacje wejścia-wyjścia w UWP 683
- Bezpieczeństwo systemu operacyjnego 687
- Mapowanie plików w pamięci 690
16. Sieć 694
- Architektura sieci 694
- Adresy i porty 697
- Adresy URI 698
- Klasy po stronie klienta 700
- Praca z HTTP 713
- Tworzenie serwera HTTP 717
- Użycie FTP 719
- Użycie DNS 721
- Wysyłanie poczty elektronicznej za pomocą SmtpClient 722
- Użycie TCP 723
- Otrzymywanie poczty elektronicznej POP3 za pomocą TCP 726
- TCP w UWP 728
17. Zestawy 730
- Co znajduje się w zestawie? 730
- Silne nazwy i podpisywanie zestawu 734
- Nazwy zestawów 735
- Technologia Authenticode 738
- Zasoby i zestawy satelickie 740
- Ładowanie, znajdowanie i izolowanie zestawów 748
18. Refleksja i metadane 768
- Refleksja i aktywacja typów 769
- Refleksja i wywoływanie składowych 775
- Refleksja dla zestawów 787
- Praca z atrybutami 788
- Generowanie dynamicznego kodu 793
- Emitowanie zestawów i typów 800
- Emitowanie składowych typów 802
- Emitowanie generycznych typów i klas 808
- Kłopotliwe cele emisji 810
- Parsowanie IL 813
19. Programowanie dynamiczne 818
- Dynamiczny system wykonawczy języka 818
- Unifikacja typów liczbowych 820
- Dynamiczne wybieranie przeciążonych składowych 821
- Implementowanie obiektów dynamicznych 827
- Współpraca z językami dynamicznymi 830
20. Kryptografia 832
- Informacje ogólne 832
- Windows Data Protection 832
- Obliczanie skrótów 834
- Szyfrowanie symetryczne 835
- Szyfrowanie kluczem publicznym i podpisywanie 840
21. Zaawansowane techniki wielowątkowości 845
- Przegląd technik synchronizacji 846
- Blokowanie wykluczające 846
- Blokady i bezpieczeństwo ze względu na wątki 854
- Blokowanie bez wykluczania 859
- Sygnalizacja przy użyciu uchwytów zdarzeń oczekiwania 866
- Klasa Barrier 873
- Leniwa inicjalizacja 874
- Pamięć lokalna wątku 877
- Zegary 880
22. Programowanie równoległe 884
- Dlaczego PFX? 885
- PLINQ 888
- Klasa Parallel 900
- Równoległe wykonywanie zadań 906
- Klasa AggregateException 916
- Kolekcje współbieżne 918
- Klasa BlockingCollection
921
23. Struktury Span
- Struktura Span i plasterkowanie 926
- Struktura Memory
929 - Enumeratory działające tylko do przodu 930
- Praca z pamięcią alokowaną na stosie i niezarządzaną 932
24. Współdziałanie macierzyste i poprzez COM 934
- Odwołania do natywnych bibliotek DLL 934
- Szeregowanie typów i parametrów 935
- Wywołania zwrotne z kodu niezarządzanego 939
- Symulowanie unii C 942
- Pamięć współdzielona 943
- Mapowanie struktury na pamięć niezarządzaną 945
- Współpraca COM 949
- Wywołanie komponentu COM z C# 951
- Osadzanie typów współpracujących 954
- Udostępnianie obiektów C# COM 955
25. Wyrażenia regularne 957
- Podstawy wyrażeń regularnych 957
- Kwantyfikatory 962
- Asercje o zerowej wielkości 963
- Grupy 966
- Zastępowanie i dzielenie tekstu 967
- Receptury wyrażeń regularnych 969
- Leksykon języka wyrażeń regularnych 972
Skorowidz 977
Przydatne linki |