- nowość
C# 12 w pigułce. Kompendium programisty - ebook
C# 12 w pigułce. Kompendium programisty - 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
Spis treści
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-1484-1 |
Rozmiar pliku: | 6,1 MB |