reklama - zainteresowany?

C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych - Helion

C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych
Autor: Ian Griffiths
Tytuł oryginału: Programming C# 8.0: Build Windows, Web, and Desktop Applications
TÅ‚umaczenie: Piotr Rajca
ISBN: 978-83-283-6739-5
stron: 765, Format: 168x237, okładka: miękka
Data wydania: 2020-07-01
Księgarnia: Helion

Cena książki: 111,75 zł (poprzednio: 149,00 zł)
Oszczędzasz: 25% (-37,25 zł)

Dodaj do koszyka C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych

Tagi: .NET - Programowanie | C# - Programowanie

JÄ™zyk C# wciąż cechuje prostota, przy czym jego możliwoÅ›ci rosnÄ… z każdÄ… wersjÄ…. Od poczÄ…tku jest rozwijany z konsekwencjÄ…, a każda nowa funkcjonalność idealnie integruje siÄ™ z resztÄ… jÄ™zyka. W efekcie C# jest dojrzaÅ‚y, nowoczesny, wszechstronny i bezpieczny. Stanowi integralnÄ… część platformy Microsoft .NET Framework. Profesjonalni programiÅ›ci, którzy dbajÄ… o wysokÄ… jakość tworzonego kodu, uważajÄ… C# i .NET za swoje ulubione narzÄ™dzie pracy. Wersja 8.0 tego jÄ™zyka sprawia, że programowanie staje siÄ™ jeszcze bardziej efektywne i satysfakcjonujÄ…ce. PeÅ‚ne wykorzystanie tych imponujÄ…cych możliwoÅ›ci wymaga jednak mistrzowskiego opanowania subtelnoÅ›ci poszczególnych narzÄ™dzi i niuansów samego jÄ™zyka.

Ta książka zostaÅ‚a napisana z myÅ›lÄ… o doÅ›wiadczonych programistach. Podstawowe zagadnienia, takie jak klasy, polimorfizm i kolekcje, znalazÅ‚y siÄ™ w kilku pierwszych rozdziaÅ‚ach, jednak zrozumienie treÅ›ci caÅ‚ej publikacji wymaga umiejÄ™tnoÅ›ci technicznych. ZostaÅ‚a poÅ›wiÄ™cona ważnym koncepcjom C# i tajnikom tego jÄ™zyka, które rzadko kiedy sÄ… opisywane w literaturze. DokÅ‚adnie omówiono tu typy ogólne, LINQ oraz techniki programowania asynchronicznego. Przedstawiono najnowsze możliwoÅ›ci platformy .NET Core i jÄ™zyka C# 8.0, takie jak strumienie asynchroniczne, referencje akceptujÄ…ce wartoÅ›ci puste, dopasowywanie wzorców, domyÅ›lne implementacje interfejsów, zakresy, a także nowÄ… skÅ‚adniÄ™ indeksowania oraz zmiany w narzÄ™dziach platformy .NET. Liczne rozbudowane przykÅ‚ady stanowiÄ… Å›wietne uzupeÅ‚nienie prezentowanych treÅ›ci.

W tej książce między innymi:

  • możliwoÅ›ci jÄ™zyka C#: klasy, typy niestandardowe, kolekcje, obsÅ‚uga bÅ‚Ä™dów
  • optymalizacja kodu pod kÄ…tem wykorzystania pamiÄ™ci
  • praca na strumieniach danych za pomocÄ… technologii LINQ
  • platforma .NET i programowanie wielowÄ…tkowe
  • programowanie asynchroniczne a skalowalność aplikacji

Dla profesjonalistów najlepszy jest C#!

Dodaj do koszyka C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych

 

Osoby które kupowały "C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych", wybierały także:

  • Gray Hat C#. JÄ™zyk C# w kontroli i Å‚amaniu zabezpieczeÅ„
  • ASP.NET Core 6. Kurs video. Rozwijaj aplikacje webowe z Entity Framework Core
  • Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit
  • Programowanie asynchroniczne i równolegÅ‚e w C#. Kurs video. Poziom podstawowy
  • Technologia LINQ. Kurs video. Warsztat pracy z danymi z różnych źródeÅ‚

Dodaj do koszyka C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych

Spis treści

C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych -- spis treści

 

Wstęp 15

 

1. Prezentacja C# 19

  • Dlaczego C#? 20
  • Najważniejsze cechy C# 21
    • Kod zarzÄ…dzany i CLR 22
    • Ogólność jest preferowana wzglÄ™dem specjalizacji 24
  • Standardy oraz implementacje jÄ™zyka C# 25
    • Kilka .NET-ów (chwilowo) 26
    • Użycie .NET Standard w celu tworzenia projektów dziaÅ‚ajÄ…cych w różnych wersjach .NET 28
  • Visual Studio oraz Visual Studio Code 30
  • Anatomia prostego programu 33
    • Dodawanie projektu do istniejÄ…cego rozwiÄ…zania 36
    • OdwoÅ‚ania do innych projektów 37
    • OdwoÅ‚ania do bibliotek zewnÄ™trznych 37
    • Pisanie testu jednostkowego 40
    • Przestrzenie nazw 43
    • Klasy 47
    • Punkt wejÅ›cia do programu 48
    • Testy jednostkowe 49
  • Podsumowanie 50

2. Podstawy stosowania języka C# 51

  • Zmienne lokalne 52
    • Zakres 57
  • Instrukcje i wyrażenia 61
    • Instrukcje 61
    • Wyrażenia 63
  • Komentarze i biaÅ‚e znaki 68
  • Dyrektywy preprocesora 70
    • Symbole kompilacji 70
    • Dyrektywy #error oraz #warning 72
    • Dyrektywa #line 72
    • Dyrektywa #pragma 73
    • Dyrektywa #nullable 74
    • Dyrektywy #region i #endregion 74
  • Podstawowe typy danych 75
    • Typy liczbowe 75
    • WartoÅ›ci logiczne 86
    • Znaki i Å‚aÅ„cuchy znaków 86
    • Krotki 92
    • Dynamic 95
    • Object 96
  • Operatory 96
  • Sterowanie przepÅ‚ywem 102
    • Decyzje logiczne przy użyciu instrukcji if 102
    • Wielokrotny wybór przy użyciu instrukcji switch 104
    • PÄ™tle: while oraz do 106
    • PÄ™tle znane z jÄ™zyka C 107
    • PrzeglÄ…danie kolekcji przy użyciu pÄ™tli foreach 109
  • Wzorce 110
    • Uzyskiwanie wiÄ™kszej dokÅ‚adnoÅ›ci dziÄ™ki użyciu when 114
    • Wzorce w wyrażeniach 115
  • Podsumowanie 117

3. Typy 119

  • Klasy 119
    • SkÅ‚adowe statyczne 123
    • Klasy statyczne 124
    • Typy referencyjne 125
  • Struktury 136
    • Kiedy tworzyć typy wartoÅ›ciowe? 140
    • Gwarantowanie niezmiennoÅ›ci 145
  • SkÅ‚adowe 147
    • Pola 147
    • Konstruktory 149
    • Dekonstruktory 159
    • Metody 160
    • WÅ‚aÅ›ciwoÅ›ci 177
    • Indeksatory 183
    • SkÅ‚adnia inicjalizatorów 185
    • Operatory 186
    • Zdarzenia 189
    • Typy zagnieżdżone 189
  • Interfejsy 190
    • DomyÅ›lne implementacje metod w interfejsach 192
  • Typy wyliczeniowe 194
  • Inne typy 197
    • Typy anonimowe 198
  • Typy i metody częściowe 200
  • Podsumowanie 202

4. Typy ogólne 203

  • Typy ogólne 204
  • Ograniczenia 206
    • Ograniczenia typu 207
    • Ograniczenia typu referencyjnego 209
    • Ograniczenia typu wartoÅ›ciowego 212
    • Wszystkie typy w hierarchii wartoÅ›ciowe dziÄ™ki ograniczeniu unmanaged 212
    • Ograniczenie notnull 213
    • Inne specjalne ograniczenia typów 213
    • Stosowanie wielu ograniczeÅ„ 213
  • WartoÅ›ci przypominajÄ…ce zero 214
  • Metody ogólne 215
    • Wnioskowanie typu 216
  • Typy ogólne i krotki 217
  • Tajniki typów ogólnych 218
  • Podsumowanie 220

5. Kolekcje 221

  • Tablice 221
    • Inicjalizacja tablic 224
    • Przeszukiwanie i sortowanie 226
    • Tablice wielowymiarowe 233
    • Kopiowanie i zmiana wielkoÅ›ci 236
  • List 237
  • Interfejsy list i sekwencji 240
  • Implementacja list i sekwencji 246
    • Implementacja IEnumerable przy użyciu iteratorów 246
    • Klasa Collection 251
    • Klasa ReadOnlyCollection 252
  • OdwoÅ‚ania do elementów z użyciem indeksów i zakresów 253
    • System.Index 253
    • System.Range 256
    • ObsÅ‚uga indeksów i zakresów we wÅ‚asnych typach danych 258
  • SÅ‚owniki 260
    • SÅ‚owniki posortowane 263
  • Zbiory 265
  • Kolejki i stosy 266
  • Listy poÅ‚Ä…czone 267
  • Kolekcje wspóÅ‚bieżne 268
  • Kolekcje niezmienne 269
    • Klasa ImutableArray 271
  • Podsumowanie 272

6. Dziedziczenie 273

  • Dziedziczenie i konwersje 274
  • Dziedziczenie interfejsów 278
  • Typy ogólne 279
    • Kowariancja i kontrawariancja 280
  • System.Object 285
    • Wszechobecne metody typu System.Object 285
  • DostÄ™pność i dziedziczenie 287
  • Metody wirtualne 288
    • Metody abstrakcyjne 290
    • Dziedziczenie i wersje bibliotek 291
  • Metody i klasy ostateczne 297
  • DostÄ™p do skÅ‚adowych klas bazowych 299
  • Dziedziczenie i tworzenie obiektów 299
  • Specjalne typy bazowe 303
  • Podsumowanie 305

7. Cykl życia obiektów 307

  • Mechanizm odzyskiwania pamiÄ™ci 308
    • OkreÅ›lanie osiÄ…galnoÅ›ci danych 310
    • Przypadkowe problemy mechanizmu odzyskiwania pamiÄ™ci 312
    • SÅ‚abe referencje 315
    • Odzyskiwanie pamiÄ™ci 318
    • Tryby odzyskiwania pamiÄ™ci 324
    • Tymczasowe zawieszanie odzyskiwania pamiÄ™ci 328
    • Przypadkowe utrudnianie scalania 329
    • Wymuszanie odzyskiwania pamiÄ™ci 332
  • Destruktory i finalizacja 333
  • Interfejs IDisposable 337
    • Zwalnianie opcjonalne 343
  • Pakowanie 344
    • Pakowanie danych typu Nullable 349
  • Podsumowanie 350

8. WyjÄ…tki 351

  • ŹródÅ‚a wyjÄ…tków 353
    • WyjÄ…tki zgÅ‚aszane przez API 354
    • BÅ‚Ä™dy wykrywane przez Å›rodowisko uruchomieniowe 356
  • ObsÅ‚uga wyjÄ…tków 357
    • Obiekty wyjÄ…tków 358
    • Wiele bloków catch 360
    • Filtry wyjÄ…tków 361
    • Zagnieżdżone bloki try 362
    • Bloki finally 364
  • ZgÅ‚aszanie wyjÄ…tków 365
    • Powtórne zgÅ‚aszanie wyjÄ…tków 366
    • Sposób na szybkie zakoÅ„czenie aplikacji 370
  • Typy wyjÄ…tków 370
    • WyjÄ…tki niestandardowe 373
  • WyjÄ…tki nieobsÅ‚ugiwane 375
  • Podsumowanie 377

9. Delegaty, wyrażenia lambda i zdarzenia 379

  • Typy delegatów 380
    • Tworzenie delegatów 381
    • MulticastDelegate - delegaty zbiorowe 384
    • WywoÅ‚ywanie delegatów 386
    • Popularne typy delegatów 388
    • Zgodność typów 390
    • WiÄ™cej niż skÅ‚adnia 393
  • Funkcje anonimowe 395
    • Przechwytywane zmienne 398
    • Wyrażenia lambda oraz drzewa wyrażeÅ„ 405
  • Zdarzenia 407
    • Standardowy wzorzec delegatów zdarzeÅ„ 409
    • Niestandardowe metody dodajÄ…ce i usuwajÄ…ce zdarzenia 410
    • Zdarzenia i mechanizm odzyskiwania pamiÄ™ci 413
    • Zdarzenia a delegaty 415
  • Delegaty a interfejsy 416
  • Podsumowanie 416

10. LINQ 419

  • Wyrażenia zapytaÅ„ 420
    • Jak sÄ… rozwijane wyrażenia zapytaÅ„ 423
    • ObsÅ‚uga wyrażeÅ„ zapytaÅ„ 425
  • Przetwarzanie opóźnione 429
  • LINQ, typy ogólne oraz interfejs IQueryable 432
  • Standardowe operatory LINQ 434
    • Filtrowanie 436
    • Selekcja 438
    • Operator SelectMany 441
    • OkreÅ›lanie porzÄ…dku 444
    • Testy zawierania 446
    • Konkretne elementy i podzakresy 448
    • Agregacja 452
    • Operacje na zbiorach 457
    • Operatory dziaÅ‚ajÄ…ce na caÅ‚ych sekwencjach z zachowaniem kolejnoÅ›ci 458
    • Grupowanie 459
    • ZÅ‚Ä…czenia 464
    • Konwersje 467
  • Generowanie sekwencji 471
  • Inne implementacje LINQ 472
    • Entity Framework 472
    • Parallel LINQ (PLINQ) 473
    • LINQ to XML 473
    • Reactive Extensions 473
    • Tx (LINQ to Logs and Traces) 473
  • Podsumowanie 474

11. Reactive Extensions 475

  • Podstawowe interfejsy 477
    • Interfejs IObserver 478
    • Interfejs IObservable 479
  • Publikowanie i subskrypcja z wykorzystaniem delegatów 486
    • Tworzenie źródÅ‚a przy wykorzystaniu delegatów 486
    • Subskrybowanie obserwowalnych źródeÅ‚ przy użyciu delegatów 489
  • Generator sekwencji 491
    • Empty 491
    • Never 491
    • Return 492
    • Throw 492
    • Range 492
    • Repeat 492
    • Generate 492
  • Zapytania LINQ 493
    • Operatory grupowania 496
    • Operatory Join 497
    • Operator SelectMany 503
    • Agregacja oraz inne operatory zwracajÄ…ce jednÄ… wartość 503
    • Operator Concat 504
  • Operatory biblioteki Rx 505
    • Merge 505
    • Operatory Buffer i Window 507
    • Operator Scan 514
    • Operator Amb 515
    • DistinctUntilChanged 516
  • Mechanizmy szeregujÄ…ce 516
    • OkreÅ›lanie mechanizmów szeregujÄ…cych 517
    • Wbudowane mechanizmy szeregujÄ…ce 519
  • Tematy 520
    • Subject 521
    • BehaviorSubject 522
    • ReplaySubject 523
    • AsyncSubject 523
  • Dostosowanie 524
    • IEnumerableoraz IAsyncEnumerable 524
    • Zdarzenia .NET 526
    • API asynchroniczne 528
  • Operacje z uzależnieniami czasowymi 530
    • Interval 530
    • Timer 531
    • Timestamp 532
    • TimeInterval 533
    • Throttle 533
    • Sample 534
    • Timeout 534
    • Operatory okien czasowych 534
    • Delay 535
    • DelaySubscription 536
  • Podsumowanie 536

12. Podzespoły 537

  • Anatomia podzespoÅ‚u 538
    • Metadane .NET 539
    • Zasoby 539
    • PodzespoÅ‚y skÅ‚adajÄ…ce siÄ™ z wielu plików 539
    • Inne możliwoÅ›ci formatu PE 540
  • Tożsamość typu 542
  • Wczytywanie podzespoÅ‚ów 545
    • OkreÅ›lanie podzespoÅ‚ów 546
    • Jawne wczytywanie podzespoÅ‚ów 550
    • Izolacja i obsÅ‚uga wtyczek z użyciem typu AssemblyLoadContext 551
  • Nazwy podzespoÅ‚ów 553
    • Silne nazwy 553
    • Numer wersji 556
    • Identyfikator kulturowy 559
  • Zabezpieczenia 563
  • Podsumowanie 563

13. Odzwierciedlanie 565

  • Typy odzwierciedlania 566
    • Assembly 567
    • Module 570
    • MemberInfo 572
    • Type oraz TypeInfo 574
    • MethodBase, ConstructorInfo oraz MethodInfo 580
    • ParameterInfo 581
    • FieldInfo 581
    • PropertyInfo 582
    • EventInfo 582
  • Konteksty odzwierciedlania 583
  • Podsumowanie 585

14. Atrybuty 587

  • Stosowanie atrybutów 587
    • Cele atrybutów 589
    • Atrybuty obsÅ‚ugiwane przez kompilator 591
    • Atrybuty obsÅ‚ugiwane przez CLR 596
  • Definiowanie i stosowanie atrybutów niestandardowych 603
    • Typ atrybutu 604
    • Pobieranie atrybutów 606
  • Podsumowanie 609

15. Pliki i strumienie 611

  • Klasa Stream 612
    • PoÅ‚ożenie i poruszanie siÄ™ w strumieniu 614
    • Opróżnianie strumienia 615
    • Kopiowanie 616
    • Length 616
    • Zwalnianie strumieni 617
    • Operacje asynchroniczne 618
    • Konkretne typy strumieni 619
    • Jeden typ, wiele zachowaÅ„ 620
  • Typy operujÄ…ce na tekstach 622
    • TextReader oraz TextWriter 622
    • Konkretne typy do odczytu i zapisu Å‚aÅ„cuchów znaków 624
    • Kodowanie 627
  • Pliki i katalogi 631
    • Klasa FileStream 631
    • Klasa File 634
    • Klasa Directory 638
    • Klasa Path 639
    • Klasy FileInfo, DirectoryInfo oraz FileSystemInfo 641
    • Znane katalogi 642
  • Serializacja 643
    • Klasy BinaryReader oraz BinaryWriter 644
    • Serializacja CLR 645
    • JSON.NET 647
  • Podsumowanie 652

16. Wielowątkowość 653

  • WÄ…tki 653
    • WÄ…tki, zmienne i wspólny stan 655
    • Klasa Thread 661
    • Pula wÄ…tków 663
    • Powinowactwo do wÄ…tku oraz klasa SynchronizationContext 666
  • Synchronizacja 670
    • Monitory oraz sÅ‚owo kluczowe lock 671
    • Klasa SpinLock 677
    • Blokady odczytu i zapisu 680
    • Obiekty zdarzeÅ„ 681
    • Klasa Barrier 684
    • Klasa CountdownEvent 685
    • Semafory 685
    • Muteksy 686
    • Klasa Interlocked 686
    • Leniwa inicjalizacja 689
    • PozostaÅ‚e klasy obsÅ‚ugujÄ…ce dziaÅ‚ania wspóÅ‚bieżne 691
  • Zadania 693
    • Klasy Task oraz Task 693
    • Kontynuacje 699
    • Mechanizmy szeregujÄ…ce 701
    • ObsÅ‚uga bÅ‚Ä™dów 703
    • Niestandardowe zadania bezwÄ…tkowe 703
    • ZwiÄ…zki zadanie nadrzÄ™dne - zadanie podrzÄ™dne 705
    • Zadania zÅ‚ożone 705
  • Inne wzorce asynchroniczne 706
  • Anulowanie 707
  • RównolegÅ‚ość 708
    • Klasa Parallel 708
    • Parallel LINQ 709
    • TPL Dataflow 710
  • Podsumowanie 710

17. Asynchroniczne cechy języka 711

  • Nowe sÅ‚owa kluczowe: async oraz await 712
    • Konteksty wykonania i synchronizacji 716
    • Wykonywanie wielu operacji i pÄ™tli 718
    • Zwracanie obiektu Task 724
    • Stosowanie async w metodach zagnieżdżonych 726
  • Wzorzec sÅ‚owa kluczowego await 726
  • ObsÅ‚uga bÅ‚Ä™dów 731
    • Weryfikacja poprawnoÅ›ci argumentów 733
    • WyjÄ…tki pojedyncze oraz grupy wyjÄ…tków 735
    • Operacje równolegÅ‚e i nieobsÅ‚użone wyjÄ…tki 736
  • Podsumowanie 738

18. Wydajne użytkowanie pamięci 739

  • (Nie) kopiować! 740
  • Reprezentacja elementów sekwencyjnych przy użyciu Span 744
    • Metody pomocnicze 747
    • Tylko na stosie 747
  • Reprezentacja elementów sekwencyjnych przy użyciu Memory 748
  • ReadOnlySequence 748
  • Przetwarzanie strumieni danych przy użyciu potoków 749
    • Przetwarzanie danych JSON w ASP.NET Core 751
  • Podsumowanie 757

Dodaj do koszyka C# 8.0. Programowanie. Tworzenie aplikacji Windows, internetowych oraz biurowych

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.