Szczegóły ebooka

C# 12 w pigułce. Kompendium programisty

C# 12 w pigułce. Kompendium programisty

Joseph Albahari

Ebook

Eksperci uważają język C# za flagowy produkt firmy Microsoft udostępniający zarówno wysokopoziomowe abstrakcje, jak i niskopoziomowe mechanizmy, które pozwalają uzyskać maksymalną wydajność aplikacji. Wersja oznaczona numerem 12 wprowadza kilka istotnych usprawnień i nowych funkcji, które mogą znacząco wpłynąć na sposób pisania kodu. Chociaż niektóre z nich mogłyby się wydawać drobnymi usprawnieniami, ich skumulowany efekt znacząco poprawia jakość kodu i produktywność programisty. Tych nowości warto się nauczyć, ponieważ nagrodą za poświęcony czas jest przyjemność płynąca z tworzenia znakomitych aplikacji.

Książka zawiera opisy najnowszych technik programowania w języku C#, przydatnych i dla nowicjuszy, i dla profesjonalistów!

Eric Lippert, Komisja Standaryzacyjna do spraw Języka C#

Oto przejrzane i zaktualizowane wydanie doskonałego podręcznika dla programistów. Jak wszystkie pozycje z serii "...w pigułce", stanowi najlepsze jednotomowe źródło praktycznej wiedzy. Znalazły się tu zwięzłe i dokładne informacje na temat języka C#, Common Language Runtime (CLR) i biblioteki klas .NET 8 Base Class Library (BCL). Nowe składniki języka C# 12 i związanej z nim platformy specjalnie wyróżniono, dzięki czemu książka może służyć także jako podręcznik do nauki C# 10 i C# 11 i pozwoli Ci błyskawicznie uzupełnić wiedzę o aktualne zagadnienia. Znalazły się tu precyzyjne opisy pojęć i przypadków użycia z naciskiem na praktyczność zastosowań. Dzięki temu jest to doskonała pomoc w codziennej pracy programisty C#.

W książce między innymi:

  • składnia C#, a także wskaźniki, rekordy, domknięcia i wzorce
  • tajniki technologii LINQ
  • programowanie współbieżne i asynchroniczne
  • wątki i programowanie równoległe
  • narzędzia .NET: wyrażenia regularne, struktury Span, kryptografia i reflection.emit

To jedna z nielicznych książek, które trzymam cały czas na biurku!

Scott Guthrie, Microsoft

Wstęp

1. Wprowadzenie do C# i .NET

  • Obiektowość
  • Bezpieczeństwo typów
  • Zarządzanie pamięcią
  • Platformy
  • CLR, BCL i środowiska wykonawcze
  • Historia C# w pigułce

2. Podstawy języka C#

  • Pierwszy program w języku C#
  • Składnia
  • Podstawy typów
  • Typy liczbowe
  • Typ logiczny i operatory logiczne
  • Łańcuchy znaków i pojedyncze znaki
  • Tablice
  • Zmienne i parametry
  • Wyrażenia i operatory
  • Operatory null
  • Instrukcje
  • Przestrzenie nazw

3. Tworzenie typów w języku C#

  • Klasy
  • Dziedziczenie
  • Typ object
  • Struktury
  • Modyfikatory dostępu
  • Interfejsy
  • Wyliczenia
  • Typy zagnieżdżone
  • Typy generyczne

4. Zaawansowane elementy języka C#

  • Delegaty
  • Zdarzenia
  • Wyrażenia lambda
  • Metody anonimowe
  • Instrukcje try i wyjątki
  • Wyliczenia i iteratory
  • Typy wartościowe dopuszczające wartość null
  • Typy referencyjne dopuszczające wartość null
  • Metody rozszerzające
  • Typy anonimowe
  • Krotki
  • Rekordy
  • Wzorce
  • Atrybuty
  • Atrybuty informacji wywołującego
  • Wiązanie dynamiczne
  • Przeciążanie operatorów
  • Polimorfizm statyczny
  • Niebezpieczny kod i wskaźniki
  • Dyrektywy preprocesora
  • Dokumentacja XML

5. Ogólny zarys platformy

  • Docelowe środowiska wykonawcze i TFM
  • .NET Standard
  • Zestawy referencyjne
  • Wersje środowiska i C#
  • CLR i BCL
  • Warstwy aplikacji

6. Podstawowe wiadomości o platformie .NET

  • Obsługa łańcuchów i tekstu
  • Data i godzina
  • Daty i strefy czasowe
  • Formatowanie i parsowanie obiektów DateTime
  • Standardowe łańcuchy formatu i flagi parsowania
  • Inne mechanizmy konwersji
  • Globalizacja
  • Praca z liczbami
  • Wyliczenia
  • Struktura Guid
  • Porównywanie
  • Określanie kolejności
  • Klasy pomocnicze

7. Kolekcje

  • Przeliczalność
  • Interfejsy ICollection i IList
  • Klasa Array
  • Listy, kolejki, stosy i zbiory
  • Słowniki
  • Kolekcje i pośredniki z możliwością dostosowywania
  • Niezmienne kolekcje
  • Kolekcje zamrożone
  • Dołączanie protokołów równości i porządkowania

8. Zapytania LINQ

  • Podstawy
  • Składnia płynna
  • Wyrażenia zapytań
  • Wykonywanie opóźnione
  • Podzapytania
  • Tworzenie zapytań złożonych
  • Strategie projekcji
  • Zapytania interpretowane
  • EF Core
  • Budowanie wyrażeń zapytań

9. Operatory LINQ

  • Informacje ogólne
  • Filtrowanie
  • Projekcja
  • Łączenie
  • Porządkowanie
  • Grupowanie
  • Operatory zbiorów
  • Metody konwersji
  • Operatory elementów
  • Metody agregacyjne
  • Kwantyfikatory
  • Metody generujące

10. LINQ to XML

  • Przegląd architektury
  • Informacje ogólne o X-DOM
  • Tworzenie drzewa X-DOM
  • Nawigowanie i wysyłanie zapytań
  • Modyfikowanie drzewa X-DOM
  • Praca z wartościami
  • Dokumenty i deklaracje
  • Nazwy i przestrzenie nazw
  • Adnotacje
  • Projekcja do X-DOM

11. Inne technologie XML i JSON

  • Klasa XmlReader
  • Klasa XmlWriter
  • Typowe zastosowania klas XmlReader i XmlWriter
  • Praca z formatem JSON

12. Zwalnianie zasobów i mechanizm usuwania nieużytków

  • IDisposable, Dispose i Close
  • Automatyczne usuwanie nieużytków
  • Finalizatory
  • Jak działa mechanizm usuwania nieużytków?
  • Wycieki pamięci zarządzanej
  • Słabe odwołania

13. Diagnostyka

  • Kompilacja warunkowa
  • Debugowanie i klasy monitorowania
  • Integracja z debuggerem
  • Procesy i wątki procesów
  • Klasy StackTrace i StackFrame
  • Dziennik zdarzeń Windows
  • Liczniki wydajności
  • Klasa Stopwatch
  • Międzyplatformowe narzędzia diagnostyczne

14. Współbieżność i asynchroniczność

  • Wprowadzenie
  • Wątki
  • Zadania
  • Reguły asynchroniczności
  • Funkcje asynchroniczne w języku C#
  • Wzorce asynchroniczności
  • Przestarzałe wzorce

15. Strumienie i wejście-wyjście

  • Architektura strumienia
  • Użycie strumieni
  • Adapter strumienia
  • Kompresja strumienia
  • Praca z plikami w postaci archiwum ZIP
  • Praca z plikami TAR
  • Operacje na plikach i katalogach
  • Bezpieczeństwo systemu operacyjnego
  • Mapowanie plików w pamięci

16. Sieć

  • Architektura sieci
  • Adresy i porty
  • Adresy URI
  • Klasa HttpClient
  • Tworzenie serwera HTTP
  • Użycie DNS
  • Wysyłanie poczty elektronicznej za pomocą SmtpClient
  • Użycie TCP
  • Otrzymywanie poczty elektronicznej POP3 za pomocą TCP

17. Zestawy

  • Co znajduje się w zestawie?
  • Silne nazwy i podpisywanie zestawu
  • Nazwy zestawów
  • Technologia Authenticode
  • Zasoby i zestawy satelickie
  • Ładowanie, znajdowanie i izolowanie zestawów

18. Refleksja i metadane

  • Refleksja i aktywacja typów
  • Refleksja i wywoływanie składowych
  • Refleksja dla zestawów
  • Praca z atrybutami
  • Generowanie dynamicznego kodu
  • Emitowanie zestawów i typów
  • Emitowanie składowych typów
  • Emitowanie generycznych metod i typów
  • Kłopotliwe cele emisji
  • Parsowanie IL

19. Programowanie dynamiczne

  • Dynamiczny system wykonawczy języka
  • Dynamiczne wybieranie przeciążonych składowych
  • Implementowanie obiektów dynamicznych
  • Współpraca z językami dynamicznymi

20. Kryptografia

  • Informacje ogólne
  • Windows Data Protection
  • Obliczanie skrótów
  • Szyfrowanie symetryczne
  • Szyfrowanie kluczem publicznym i podpisywanie

21. Zaawansowane techniki wielowątkowości

  • Przegląd technik synchronizacji
  • Blokowanie wykluczające
  • Blokady i bezpieczeństwo ze względu na wątki
  • Blokowanie bez wykluczania
  • Sygnalizacja przy użyciu uchwytów zdarzeń oczekiwania
  • Klasa Barrier
  • Leniwa inicjalizacja
  • Pamięć lokalna wątku
  • Zegary

22. Programowanie równoległe

  • Dlaczego PFX?
  • PLINQ
  • Klasa Parallel
  • Równoległe wykonywanie zadań
  • Klasa AggregateException
  • Kolekcje współbieżne
  • Klasa BlockingCollection<T>

23. Struktury Span<T> i Memory<T>

  • Struktura Span i plasterkowanie
  • Struktura Memory<T>
  • Enumeratory działające tylko do przodu
  • Praca z pamięcią alokowaną na stosie i niezarządzaną

24. Współdziałanie macierzyste i poprzez COM

  • Odwołania do natywnych bibliotek DLL
  • Szeregowanie typów i parametrów
  • Wywołania zwrotne z kodu niezarządzanego
  • Symulowanie unii C
  • Pamięć współdzielona
  • Mapowanie struktury na pamięć niezarządzaną
  • Współpraca COM
  • Wywołanie komponentu COM z C#
  • Osadzanie typów współpracujących
  • Udostępnianie obiektów C# COM

25. Wyrażenia regularne

  • Podstawy wyrażeń regularnych
  • Kwantyfikatory
  • Asercje o zerowej wielkości
  • Grupy
  • Zastępowanie i dzielenie tekstu
  • Receptury wyrażeń regularnych
  • Leksykon języka wyrażeń regularnych

Skorowidz

  • Tytuł: C# 12 w pigułce. Kompendium programisty
  • Autor: Joseph Albahari
  • Tytuł oryginału: C# 12 in a Nutshell: The Definitive Reference
  • Tłumaczenie: Łukasz Piwko, Robert Górczyński, Jakub Hubisz
  • ISBN: 978-83-289-1484-1, 9788328914841
  • Data wydania: 2024-10-29
  • Format: Ebook
  • Identyfikator pozycji: c12wpi
  • Wydawca: Helion