Księgarnia naukowo-techniczna styczna.pl

Księgarnia naukowo-techniczna
styczna.pl

 


Zaawansowane wyszukiwanie
  Strona Główna » Sklep » Informatyka » Programowanie » Moje Konto  |  Zawartość Koszyka  |  Do Kasy   
 Wybierz kategorię
Albumy
Architektura
Beletrystyka
Biochemia
Biologia
Biznes
Budownictwo
Chemia
Design DTP
E-biznes
Ekologia i środowisko
Ekonometria
Ekonomia Finanse
Elektronika
Elektrotechnika
Encyklopedie
Energetyka
Fizyka
Fotografia
Geografia
Historia
Informatyka
  Bazy danych
  Bezpieczeństwo
  CAD
  Grafika komputerowa
  iPod Pocket PC
  Kursy
  Media społecznościowe
  Office
  Programowanie
  Programy graficzne
  Sieci bezprzewodowe
  Sieci komputerowe
  Systemy operacyjne
  Techniki programowania
  Webmasterstwo
Maszynoznawstwo
Matematyka
Medycyna
Motoryzacja
Polityka
Popularnonaukowe
Poradniki
Prawo
Sport
Sztuka
Słowniki
Technika
Telekomunikacja
Turystyka
Zarządzanie jakością

Zobacz pełny katalog »
C# od podszewki. Wydanie IV 99.00zł 74.25zł
C# od podszewki. Wydanie IV

Tytuł: C# od podszewki. Wydanie IV
Autor: Jon Skeet
ISBN: 978-83-283-6029-7
Ilość stron: 536
Data wydania: 02/2020
Format: 168x237
Wydawnictwo: HELION

Cena: 99.00zł 74.25zł


C# liczy sobie około dwudziestu lat. Jest niestrudzenie rozwijany i doskonalony przez Microsoft, a dzięki swojej wszechstronności znajduje zastosowanie w wielu dziedzinach: pisaniu gier komputerowych, tworzeniu skalowalnych i niezawodnych aplikacji internetowych oraz aplikacji mobilnych, a nawet niskopoziomowym programowaniu komponentów większych systemów. Twórcy C# postawili na obiektowość, ścisłą kontrolę typów, a przede wszystkim na prostotę w stosowaniu. W tym celu wykorzystano wyniki badań akademickich i połączono je z praktycznymi technikami rozwiązywania problemów. W efekcie C# stał się ulubionym językiem profesjonalistów.

To czwarte wydanie podręcznika przeznaczonego dla programistów C#, którzy znają podstawy tego języka, jednak zależy im na dogłębnym zrozumieniu ważnych pojęć i przyswojeniu różnych sposobów myślenia o pozornie znanych zagadnieniach. W książce skrótowo opisano wersje C# od 2 do 5, a wyczerpująco omówiono wersje od 6 do 7.3. Zaprezentowano również niektóre informacje o projektowanych nowych elementach języka C# 8, takich jak typy referencyjne przyjmujące wartość null, wyrażenia switch, usprawnienia dopasowywania wzorców, a także dalsza integracja asynchroniczności z podstawowymi mechanizmami języka. Poszczególne treści zilustrowano licznymi przykładami kodu źródłowego.

W tej książce między innymi:

  • wyrażenia lambda, inicjalizatory zapytań, asynchroniczność
  • składowe z ciałem w postaci wyrażenia
  • zaawansowane techniki pracy z ciągami znaków
  • zagadnienia integracji krotek z językiem
  • dekonstruktory i dopasowywanie wzorców
  • nowe techniki stosowania referencji i powiązanych mechanizmów

C#. Programowanie na najwyższym poziomie!

Rozdziały:

Przedmowa 17

Wprowadzenie 19

Podziękowania 21

O książce 23

O autorze 27

CZĘŚĆ 1. KONTEKST JĘZYKA C# 29

Rozdział 1. Przetrwają najbystrzejsi 31

  • 1.1. Ewoluujący język 31
    • 1.1.1. System typów pomocny w dużej i małej skali 32
    • 1.1.2. Jeszcze bardziej zwięzły kod 34
    • 1.1.3. Prosty dostęp do danych w technologii LINQ 38
    • 1.1.4. Asynchroniczność 38
    • 1.1.5. Równowaga między wydajnością a złożonością 40
    • 1.1.6. Przyspieszona ewolucja - używanie podwersji 41
  • 1.2. Ewoluująca platforma 42
  • 1.3. Ewoluująca społeczność 43
  • 1.4. Ewoluująca książka 44
    • 1.4.1. Wyjaśnienia na różnym poziomie 45
    • 1.4.2. Przykłady, w których wykorzystano projekt Noda Time 45
    • 1.4.3. Terminologia 46
  • Podsumowanie 47

CZĘŚĆ 2. C# 2 - 5 49

Rozdział 2. C# 2 51

  • 2.1. Typy generyczne 52
    • 2.1.1. Wprowadzenie z użyciem przykładu - kolekcje przed wprowadzeniem typów generycznych 52
    • 2.1.2. Typy generyczne ratują sytuację 55
    • 2.1.3. Jakie elementy mogą być generyczne? 59
    • 2.1.4. Wnioskowanie typu argumentów określających typ w metodach 60
    • 2.1.5. Ograniczenia typów 62
    • 2.1.6. Operatory default i typeof 64
    • 2.1.7. Inicjowanie typów generycznych i ich stan 67
  • 2.2. Typy bezpośrednie przyjmujące wartość null 69
    • 2.2.1. Cel - reprezentowanie braku informacji 69
    • 2.2.2. Wsparcie w środowisku CLR i platformie - struktura Nullable 70
    • 2.2.3. Obsługa dostępna w języku 74
  • 2.3. Uproszczone tworzenie delegatów 80
    • 2.3.1. Konwersje grupy metod 81
    • 2.3.2. Metody anonimowe 81
    • 2.3.3. Zgodność delegatów 83
  • 2.4. Iteratory 84
    • 2.4.1. Wprowadzenie do iteratorów 85
    • 2.4.2. Leniwe wykonywanie 86
    • 2.4.3. Przetwarzanie instrukcji yield 87
    • 2.4.4. Znaczenie leniwego wykonywania 88
    • 2.4.5. Przetwarzanie bloków finally 89
    • 2.4.6. Znaczenie obsługi bloku finally 92
    • 2.4.7. Zarys implementacji 93
  • 2.5. Mniej istotne mechanizmy 98
    • 2.5.1. Typy częściowe 98
    • 2.5.2. Klasy statyczne 100
    • 2.5.3. Inny poziom dostępu do getterów i setterów właściwości 101
    • 2.5.4. Aliasy przestrzeni nazw 101
    • 2.5.5. Dyrektywy pragma 103
    • 2.5.6. Bufory o stałej wielkości 104
    • 2.5.7. Atrybut InternalsVisibleTo 105
  • Podsumowanie 106

Rozdział 3. C# 3 - technologia LINQ i wszystko, co z nią związane 107

  • 3.1. Automatycznie implementowane właściwości 108
  • 3.2. Niejawne określanie typów 108
    • 3.2.1. Terminologia związana z typami 109
    • 3.2.2. Zmienne lokalne z typowaniem niejawnym (var) 110
    • 3.2.3. Tablice z niejawnym typowaniem 112
  • 3.3. Inicjalizatory obiektów i kolekcji 113
    • 3.3.1. Wprowadzenie do inicjalizatorów obiektów i kolekcji 113
    • 3.3.2. Inicjalizatory obiektów 115
    • 3.3.3. Inicjalizatory kolekcji 116
    • 3.3.4. Zalety inicjowania za pomocą jednego wyrażenia 118
  • 3.4. Typy anonimowe 118
    • 3.4.1. Składnia i podstawy działania 119
    • 3.4.2. Typ generowany przez kompilator 121
    • 3.4.3. Ograniczenia 122
  • 3.5. Wyrażenia lambda 123
    • 3.5.1. Składnia wyrażeń lambda 124
    • 3.5.2. Przechwytywanie zmiennych 126
    • 3.5.3. Drzewa wyrażeń 133
  • 3.6. Metody rozszerzające 135
    • 3.6.1. Deklarowanie metody rozszerzającej 136
    • 3.6.2. Wywoływanie metod rozszerzających 136
    • 3.6.3. Łączenie wywołań metod w łańcuch 138
  • 3.7. Wyrażenia reprezentujące zapytania 140
    • 3.7.1. Wyrażenia reprezentujące zapytania są przekształcane z kodu C# na inny kod C# 140
    • 3.7.2. Zmienne zakresu i identyfikatory przezroczyste 141
    • 3.7.3. Kiedy stosować poszczególne składnie w LINQ? 142
  • 3.8. Efekt końcowy - technologia LINQ 143
  • Podsumowanie 144

Rozdział 4. Zwiększanie współdziałania z innymi technologiami 145

  • 4.1. Typowanie dynamiczne 146
    • 4.1.1. Wprowadzenie do typowania dynamicznego 146
    • 4.1.2. Dynamiczne operacje poza mechanizmem refleksji 151
    • 4.1.3. Krótkie spojrzenie na zaplecze 156
    • 4.1.4. Ograniczenia i niespodzianki związane z typowaniem dynamicznym 160
    • 4.1.5. Sugestie dotyczące użytkowania 164
  • 4.2. Parametry opcjonalne i argumenty nazwane 166
    • 4.2.1. Parametry o wartościach domyślnych i argumenty z nazwami 167
    • 4.2.2. Określanie znaczenia wywołań metody 168
    • 4.2.3. Wpływ na wersjonowanie 170
  • 4.3. Usprawnienia w zakresie współdziałania z technologią COM 172
    • 4.3.1. Konsolidacja podzespołów PIA 172
    • 4.3.2. Parametry opcjonalne w COM 174
    • 4.3.3. Indeksery nazwane 175
  • 4.4. Wariancja generyczna 176
    • 4.4.1. Proste przykłady zastosowania wariancji 176
    • 4.4.2. Składnia wariancji w deklaracjach interfejsów i delegatów 178
    • 4.4.3. Ograniczenia dotyczące wariancji 179
    • 4.4.4. Wariancja generyczna w praktyce 181
  • Podsumowanie 183

Rozdział 5. Pisanie kodu asynchronicznego 185

  • 5.1. Wprowadzenie do funkcji asynchronicznych 187
    • 5.1.1. Bliskie spotkania asynchronicznego stopnia 187
    • 5.1.2. Analiza pierwszego przykładu 189
  • 5.2. Myślenie o asynchroniczności 190
    • 5.2.1. Podstawy asynchronicznego wykonywania kodu 191
    • 5.2.2. Konteksty synchronizacji 192
    • 5.2.3. Model działania metod asynchronicznych 193
  • 5.3. Deklaracje metod asynchronicznych 195
    • 5.3.1. Typy wartości zwracanych przez metody asynchroniczne 196
    • 5.3.2. Parametry metod asynchronicznych 197
  • 5.4. Wyrażenia await 197
    • 5.4.1. Wzorzec awaitable 198
    • 5.4.2. Ograniczenia dotyczące wyrażeń await 200
  • 5.5. Opakowywanie zwracanych wartości 202
  • 5.6. Przepływ sterowania w metodzie asynchronicznej 203
    • 5.6.1. Na co kod oczekuje i kiedy? 203
    • 5.6.2. Przetwarzanie wyrażeń await 205
    • 5.6.3. Używanie składowych zgodnych ze wzorcem awaitable 208
    • 5.6.4. Wypakowywanie wyjątków 208
    • 5.6.5. Ukończenie pracy metody 211
  • 5.7. Asynchroniczne funkcje anonimowe 216
  • 5.8. Niestandardowe typy zadań w C# 7 217
    • 5.8.1. Typ przydatny w 99,9% przypadków - ValueTask 217
    • 5.8.2. 0,1% sytuacji - tworzenie własnych niestandardowych typów zadań 220
  • 5.9. Asynchroniczne metody main w C# 7.1 222
  • 5.10. Wskazówki dotyczące korzystania z asynchroniczności 223
    • 5.10.1. Jeśli jest to akceptowalne, używaj ConfigureAwait, aby nie przechwytywać kontekstu 223
    • 5.10.2. Włączanie przetwarzania równoległego dzięki uruchomieniu wielu niezależnych zadań 225
    • 5.10.3. Unikaj łączenia kodu synchronicznego z asynchronicznym 226
    • 5.10.4. Wszędzie, gdzie to możliwe, zezwalaj na anulowanie operacji 226
    • 5.10.5. Testowanie kodu asynchronicznego 227
  • Podsumowanie 228

Rozdział 6. Implementacja asynchroniczności 229

  • 6.1. Struktura wygenerowanego kodu 231
    • 6.1.1. Metoda kontrolna - przygotowania i pierwszy krok 233
    • 6.1.2. Struktura maszyny stanowej 235
    • 6.1.3. Metoda MoveNext() (ogólny opis) 238
    • 6.1.4. Metoda SetStateMachine i taniec z opakowywaniem maszyny stanowej 240
  • 6.2. Prosta implementacja metody MoveNext() 241
    • 6.2.1. Kompletny konkretny przykład 241
    • 6.2.2. Ogólna struktura metody MoveNext() 243
    • 6.2.3. Zbliżenie na wyrażenia await 245
  • 6.3. Jak przepływ sterowania wpływa na metodę MoveNext()? 247
    • 6.3.1. Przepływ sterowania między wyrażeniami await jest prosty 247
    • 6.3.2. Oczekiwanie w pętli 248
    • 6.3.3. Oczekiwanie w bloku try/finally 250
  • 6.4. Kontekst wykonania i przekazywanie kontekstu 253
  • 6.5. Jeszcze o niestandardowych typach zadań 254
  • Podsumowanie 255

Rozdział 7. Dodatkowe mechanizmy z C# 5 257

  • 7.1. Przechwytywanie zmiennych w pętlach foreach 257
  • 7.2. Atrybuty z informacjami o jednostce wywołującej 259
    • 7.2.1. Podstawowe działanie 259
    • 7.2.2. Rejestrowanie informacji w dzienniku 261
    • 7.2.3. Upraszczanie implementacji interfejsu INotifyPropertyChanged 261
    • 7.2.4. Przypadki brzegowe dotyczące atrybutów z informacjami o jednostce wywołującej 263
    • 7.2.5. Używanie atrybutów z informacjami o jednostce wywołującej w starszych wersjach platformy .NET 269
  • Podsumowanie 270

CZĘŚĆ 3. C# 6 271

Rozdział 8. Odchudzone właściwości i składowe z ciałem w postaci wyrażenia 273

  • 8.1. Krótka historia właściwości 274
  • 8.2. Usprawnienia automatycznie implementowanych właściwości 276
    • 8.2.1. Automatycznie implementowane właściwości przeznaczone tylko do odczytu 276
    • 8.2.2. Inicjalizowanie automatycznie implementowanych właściwości 277
    • 8.2.3. Automatycznie implementowane właściwości w strukturach 279
  • 8.3. Składowe z ciałem w postaci wyrażenia 281
    • 8.3.1. Jeszcze prostsze obliczanie właściwości tylko do odczytu 281
    • 8.2.2. Metody, indeksery i operatory z ciałem w postaci wyrażenia 284
    • 8.3.3. Ograniczenia dotyczące składowych z ciałem w postaci wyrażenia w C# 6 286
    • 8.3.4. Wskazówki dotyczące używania składowych z ciałem w postaci wyrażenia 287
  • Podsumowanie 290

Rozdział 9. Mechanizmy związane z łańcuchami znaków 291

  • 9.1. Przypomnienie technik formatowania łańcuchów znaków w .NET 292
    • 9.1.1. Proste formatowanie łańcuchów znaków 292
    • 9.1.2. Niestandardowe formatowanie z użyciem łańcuchów znaków formatowania 293
    • 9.1.3. Lokalizacja 295
  • 9.2. Wprowadzenie do literałów tekstowych z interpolacją 299
    • 9.2.1. Prosta interpolacja 299
    • 9.2.2. Łańcuchy znaków formatowania w literałach tekstowych z interpolacją 300
    • 9.2.3. Dosłowne literały tekstowe z interpolacją 300
    • 9.2.4. Obsługa literałów tekstowych z interpolacją przez kompilator (część 1.) 302
  • 9.3. Lokalizacja z użyciem typu FormattableString 302
    • 9.3.1. Obsługa literałów tekstowych z interpolacją przez kompilator (część 2.) 303
    • 9.3.2. Formatowanie obiektu typu FormattableString z użyciem określonych ustawień regionalnych 305
    • 9.3.3. Inne zastosowania typu FormattableString 306
    • 9.3.4. Używanie typu FormattableString w starszych wersjach platformy .NET 310
  • 9.4. Zastosowania, wskazówki i ograniczenia 311
    • 9.4.1. Programiści i maszyny, ale raczej nie użytkownicy końcowi 311
    • 9.4.2. Sztywne ograniczenia literałów tekstowych z interpolacją 314
    • 9.4.3. Kiedy można stosować literały tekstowe z interpolacją, ale nie należy tego robić? 315
  • 9.5. Dostęp do identyfikatorów za pomocą operatora nameof 317
    • 9.5.1. Pierwsze przykłady stosowania operatora nameof 317
    • 9.5.2. Standardowe zastosowania operatora nameof 319
    • 9.5.3. Sztuczki i kruczki związane z używaniem operatora nameof 322
  • Podsumowanie 325

Rozdział 10. Szwedzki stół z funkcjami do pisania zwięzłego kodu 325

  • 10.1. Dyrektywa using static 325
    • 10.1.1. Importowanie składowych statycznych 326
    • 10.1.2. Metody rozszerzające i dyrektywa using static 329
  • 10.2. Usprawnienia inicjalizatorów obiektów i kolekcji 331
    • 10.2.1. Indeksery w inicjalizatorach obiektów 331
    • 10.2.2. Używanie metod rozszerzających w inicjalizatorach kolekcji 335
    • 10.2.3. Kod testów a kod produkcyjny 339
  • 10.3. Operator ?. 340
    • 10.3.1. Proste i bezpieczne dereferencje właściwości 340
    • 10.3.2. Szczegółowe omówienie operatora ?. 341
    • 10.3.3. Obsługa porównań logicznych 342
    • 10.3.4. Indeksery i operator ?. 344
    • 10.3.5. Skuteczne używanie operatora ?. 344
    • 10.3.6. Ograniczenia operatora ?. 346
  • 10.4. Filtry wyjątków 346
    • 10.4.1. Składnia i semantyka filtrów wyjątków 347
    • 10.4.2. Ponawianie operacji 352
    • 10.4.3. Zapis danych w dzienniku jako efekt uboczny 354
    • 10.4.4. Pojedyncze, specyficzne filtry wyjątków 355
    • 10.4.5. Dlaczego po prostu nie zgłaszać wyjątków? 355
  • Podsumowanie 356

CZĘŚĆ 4. C# 7 I PRZYSZŁE WERSJE 357

Rozdział 11. Łączenie danych z użyciem krotek 359

  • 11.1. Wprowadzenie do krotek 360
  • 11.2. Literały i typy krotek 361
    • 11.2.1. Składnia 361
    • 11.2.2. Wnioskowanie nazw elementów w literałach krotek (C# 7.1) 364
    • 11.2.3. Krotki jako zbiory zmiennych 365
  • 11.3. Typy krotek i konwersje 369
    • 11.3.1. Typy literałów krotek 369
    • 11.3.2. Konwersje z literałów krotek na typy krotek 371
    • 11.3.3. Konwersja między typami krotek 374
    • 11.3.4. Zastosowania konwersji 377
    • 11.3.5. Sprawdzanie nazw elementów przy dziedziczeniu 377
    • 11.3.6. Operatory równości i nierówności (C# 7.3) 378
  • 11.4. Krotki w środowisku CLR 379
    • 11.4.1. Wprowadzenie do typów System.ValueTuple<...> 379
    • 11.4.2. Obsługa nazw elementów 380
    • 11.4.3. Implementacje konwersji krotek 381
    • 11.4.4. Tekstowe reprezentacje krotek 382
    • 11.4.5. Standardowe porównania na potrzeby sprawdzania równości i sortowania 383
    • 11.4.6. Strukturalne porównania na potrzeby sprawdzania równości i sortowania 384
    • 11.4.7. Krotki jednowartościowe i duże krotki 386
    • 11.4.8. Niegeneryczna struktura ValueTuple 387
    • 11.4.9. Metody rozszerzające 387
  • 11.5. Alternatywy dla krotek 388
    • 11.5.1. System.Tuple<...> 388
    • 11.5.2. Typy anonimowe 388
    • 11.5.3. Typy nazwane 389
  • 11.6. Zastosowania i rekomendacje 389
    • 11.6.1. Niepubliczne interfejsy API i kod, który można łatwo modyfikować 390
    • 11.6.2. Zmienne lokalne 390
    • 11.6.3. Pola 392
    • 11.6.4. Krotki i typowanie dynamiczne nie współdziałają dobrze ze sobą 393
  • Podsumowanie 394

Rozdział 12. Podział krotek i dopasowywanie wzorców 395

  • 12.1. Podział krotek 396
    • 12.1.1. Podział na nowe zmienne 397
    • 12.1.2. Używanie podziału do przypisywania wartości istniejącym zmiennym i właściwościom 399
    • 12.1.3. Szczegóły podziału literałów krotek 403
  • 12.2. Podział typów innych niż krotki 403
    • 12.2.1. Metody instancji odpowiedzialne za podział obiektów 403
    • 12.2.2. Odpowiedzialne za podział metody rozszerzające a przeciążanie metod 404
    • 12.2.3. Obsługa wywołań Deconstruct w kompilatorze 406
  • 12.3. Wprowadzenie do dopasowywania wzorców 407
  • 12.4. Wzorce dostępne w C# 7.0 409
    • 12.4.1. Wzorce stałych 409
    • 12.4.2. Wzorce typów 410
    • 12.4.3. Wzorzec var 413
  • 12.5. Używanie wzorców razem z operatorem is 414
  • 12.6. Używanie wzorców w instrukcjach switch 416
    • 12.6.1. Klauzule zabezpieczające 417
    • 12.6.2. Zasięg zmiennej ze wzorca w klauzulach case 418
    • 12.6.3. Kolejność przetwarzania w instrukcjach switch opartych na wzorcu 420
  • 12.7. Przemyślenia na temat zastosowań opisanych mechanizmów 421
    • 12.7.1. Wykrywanie możliwości podziału obiektów 422
    • 12.7.2. Wykrywanie możliwości dopasowywania wzorców 422
  • Podsumowanie 423

Rozdział 13. Zwiększanie wydajności dzięki częstszemu przekazywaniu danych przez referencję 425

  • 13.1. Przypomnienie - co wiesz o słowie kluczowym ref? 427
  • 13.2. Zmienne lokalne ref i referencyjne zwracane wartości 429
    • 13.2.1. Zmienne lokalne ref 430
    • 13.2.2. Instrukcja return ref 435
    • 13.2.3. Operator warunkowy ?: i wartości z modyfikatorem ref (C# 7.2) 437
    • 13.2.4. Modyfikator ref readonly (C# 7.2) 438
  • 13.3. Parametry in (C# 7.2) 440
    • 13.3.1. Zgodność wstecz 441
    • 13.3.2. Zaskakująca modyfikowalność parametrów in - zmiany zewnętrzne 442
    • 13.3.3. Przeciążanie metod z użyciem parametrów in 444
    • 13.3.4. Wskazówki dotyczące parametrów in 444
  • 13.4. Deklarowanie struktur tylko do odczytu (C# 7.2) 446
    • 13.4.1. Wprowadzenie - niejawne kopiowanie zmiennych tylko do odczytu 446
    • 13.4.2. Modyfikator readonly dla struktur 449
    • 13.4.3. Serializowane dane w XML-u są z natury przeznaczone do odczytu i zapisu 450
  • 13.5. Metody rozszerzające z parametrami ref i in (C# 7.2) 451
    • 13.5.1. Używanie parametrów ref i in w metodach rozszerzających, aby uniknąć kopiowania 451
    • 13.5.2. Ograniczenia dotyczące metod rozszerzających z pierwszym parametrem ref lub in 453
  • 13.6. Struktury referencyjne (C# 7.2) 454
    • 13.6.1. Reguły dotyczące struktur referencyjnych 455
    • 13.6.2. Typ Spani wywołanie stackalloc 456
    • 13.6.3. Reprezentacja struktur referencyjnych w kodzie pośrednim 460
  • Podsumowanie 461

Rozdział 14. Zwięzły kod w C# 7 463

  • 14.1. Metody lokalne 463
    • 14.1.1. Dostęp do zmiennych w metodach lokalnych 465
    • 14.1.2. Implementowanie metod lokalnych 468
    • 14.1.3. Wskazówki dotyczące użytkowania 473
  • 14.2. Zmienne out 476
    • 14.2.1. Wewnątrzwierszowe deklaracje zmiennych na potrzeby parametrów out 476
    • 14.2.2. Zniesione w C# 7.3 ograniczenia dotyczące zmiennych out i zmiennych generowanych we wzorcach 477
  • 14.3. Usprawnienia w literałach liczbowych 478
    • 14.3.1. Dwójkowe literały całkowitoliczbowe 478
    • 14.3.2. Separatory w postaci podkreślenia 479
  • 14.4. Wyrażenia throw 480
  • 14.5. Literał default (C# 7.1) 481
  • 14.6. Argumenty nazwane w dowolnym miejscu listy argumentów (C# 7.2) 482
  • 14.7. Dostęp private protected (C# 7.2) 484
  • 14.8. Drobne usprawnienia z C# 7.3 484
    • 14.8.1. Ograniczenia typów generycznych 484
    • 14.8.2. Usprawnienia w wyborze wersji przeciążonych metod 485
    • 14.8.3. Atrybuty pól powiązanych z automatycznie implementowanymi właściwościami 486
  • Podsumowanie 487

Rozdział 15. C# 8 i kolejne wersje 489

  • 15.1. Typy referencyjne przyjmujące wartość null 490
    • 15.1.1. Jaki problem rozwiązują typy referencyjne przyjmujące wartość null? 490
    • 15.1.2. Zmiana działania typów referencyjnych w kontekście wartości null 491
    • 15.1.3. Poznaj typy referencyjne przyjmujące null 492
    • 15.1.4. Działanie typów referencyjnych przyjmujących null w czasie kompilacji i w czasie wykonywania kodu 493
    • 15.1.5. Operator "a niech to" 496
    • 15.1.6. Wrażenia z wprowadzania typów referencyjnych przyjmujących null 498
    • 15.1.7. Przyszłe usprawnienia 500
  • 15.2. Wyrażenia switch 504
  • 15.3. Rekurencyjne dopasowywanie wzorców 506
    • 15.3.1. Dopasowywanie z użyciem właściwości we wzorcach 507
    • 15.3.2. Wzorce oparte na podziale 507
    • 15.3.3. Pomijanie typów we wzorcach 508
  • 15.4. Indeksy i przedziały 509
    • 15.4.1. Typy i literały Index i Range 510
    • 15.4.2. Stosowanie indeksów i przedziałów 511
  • 15.5. Lepsza integracja asynchroniczności 512
    • 15.5.1. Asynchroniczne zwalnianie zasobów z użyciem instrukcji using await 512
    • 15.5.2. Asynchroniczne iteracje z użyciem instrukcji foreach await 514
    • 15.5.3. Asynchroniczne iteratory 517
  • 15.6. Funkcje, które nie znalazły się w wersji zapoznawczej 518
    • 15.6.1. Domyślne metody interfejsu 518
    • 15.6.2. Typy rekordowe 520
    • 15.6.3. Krótki opis jeszcze innych funkcji 521
  • 15.7. Udział w pracach 523
  • Wnioski 523

Dodatek A. Funkcje języka wprowadzone w poszczególnych wersjach 525


Najniższa cena z 30 dni przed obniżką 74,25zł

Tytuł książki: "C# od podszewki. Wydanie IV"
Autor: Jon Skeet
Wydawnictwo: HELION
Cena: 99.00zł 74.25zł
Klienci, którzy kupili tę książkę, kupili także
Na jednym froncie Czechosłowacko-polskie stosunki wojskowe 1939 - 1945
Na jednym froncie Czechosłowacko-polskie stosunki wojskowe 1939 - 1945
Friedl Jiri
Scholar
Sztuka przywództwa. Rozwijanie umiejętności kierowniczych
Sztuka przywództwa. Rozwijanie umiejętności kierowniczych
Michael Lopp
HELION
Ekologizm trucizna XXI wieku
Ekologizm trucizna XXI wieku
Reisman George
FIJORR PUBLISHING
Wstęp do informatyki kwantowej
Wstęp do informatyki kwantowej
Michel Le Bellac
PWN
Śladami Czesława Miłosza
Śladami Czesława Miłosza
Nosowska Dorota
Ibis
Funkcje w Excelu w praktyce Wydanie 2
Funkcje w Excelu w praktyce Wydanie 2
Mirosława Kopertowska Władysław Sikorski
PWN
 Koszyk
1 x Konkurowanie przedsiębiorstw w segmencie młodych konsumentów
1 x Być rodzicem i nie skonać Rodzicielstwo na luzie
1 x A teraz... stwórz wielką firmę 7 sposobów maksymalizacji zysków na każdym rynku
1 x Bliżej centrum czy na peryferiach? Polskie kontakty gospodarcze z zagranicą w XX wieku
1 x Interesujące przypadki neurologiczne
1 x Dysleksja z perspektywy dorosłości
1 x Diagnostyka różnicowa chorób i stanów patologicznych w medycnie małych zwierząt
1 x Cała prawda o zwierzętach Zakochane hipopotamy, naćpane leniwce i inne dzikie historie
1 x Gitara elektryczna i basowa Samodzielne wykonanie, regulacja i naprawa instrumentu
1 x Akta cywilne dla aplikantów
1 x Prawo właściwe dla autorskoprawnej umowy licencyjnej
1 x Prawo budowlane
1 x Dolna granica wieku odpowiedzialności karnej w prawie polskim
1 x Kolor i farba 1001 pomysłów Kompozycje kolorystyczne dla twojego domu
1 x Atlas funkcjonalny mózgu
1 x Cóż stanie się Panie jeśli spytam Studia i szkice o myśli i tradycji biblijnej
1 x Bezpieczeństwo, obronność, wojskowość Problemy planowania strategicznego
1 x Bestie z Buchenwaldu Karl i Ilse Kochowie – najgłośniejszy proces o zbrodnie wojenne XX wieku
1 x Evidence Based Medicine na przykładzie badań klinicznych z ramiprilem
1 x AIX, PowerVM - UNIX, wirtualizacja, bezpieczeństwo. Podręcznik administratora
1 x be active. FITdieta pudełkowa
1 x Kodeks postępowania administracyjnego Wydanie 5
1 x Czy wszyscy jesteśmy ekspertami?
1 x Pochodzenie dziecka i władza rodzicielska po nowelizacji komentarz
1 x Spalanie gazów Teoria, praktyka, ekologia
1 x Efektywność inwestycji w odnawialne źródła energii Analiza kosztów i korzyści
1 x Angielscy męczennicy reformacji
1 x Pielęgniarstwo nefrologiczne
1 x Compliance w diabetologii
1 x Kontrola skarbowa w systemie kontroli państwowej
1 x BMW serii 3 typu E90/E91
1 x Historia architektury
1 x Akryle Kurs malowania
1 x Kiedy dziecko każe na siebie czekać Nadzieja dla długo starających się o dziecko
1 x Kosmetologia ciała
1 x Projektowanie elementów maszyn z wykorzystaniem programu Autodesk Inventor Obliczenia przekładni
1 x Procedura postępowania pielęgniarskiego wobec pacjenta z wszczepionym portem dożylnym
1 x Bezpieczeństwo - podejście wartościujące
1 x ABC służby cywilnej
1 x ASP.NET Core 2.0. Wprowadzenie
1 x Prawny model opodatkowania nieruchomości podatkiem od towarów i usług
1 x Język włoski dla pielęgniarek
1 x Agresja ujęcie narracyjne
1 x Historia trucizny
1 x Operator walców w pytaniach i odpowiedziach
1 x Narkotyki a demoralizacja Szansa na zmianę
1 x Jedz i trenuj Poradnik dla aktywnych
1 x Dziennik 2007-2010
1 x Gospodarka rachunkowość podatki oraz rozrachunki wspólnoty mieszkaniowej
1 x Analiza finansowa w przedsiębiorstwie Przykłady zadania i rozwiązania
1 x Cyberprzemoc wśród dzieci i młodzieży
1 x Biblia treningu kolarza górskiego Wydanie 2
1 x Afazja polska 2
1 x Kieszonkowa historia Gladiatorzy Krew i igrzyska
1 x 50 lat Olimpiad Fizycznych Wybrane zadania z rozwiązaniami
1 x Bąkowe tabu
1 x Czytanie nut głosem 3
1 x Ajurweda Tajemnice medycyny holistycznej
1 x Hanzai znaczy przestępstwo Ściganie przestępstw pospolitych oraz white-collar-crimes w Japonii
1 x Symboliczne i realne podstawy tożsamości społecznej w średniowieczu
1 x Dokumentacja projektowa konstrukcji stalowych w budowlanych przedsięwzięciach inwestycyjnych
1 x Cyberhejt wobec pracowników a wizerunek organizacji
1 x Współczesna wiedza o polimerach Tom 1 Budowa strukturalna polimerów i metody badawcze
1 x Stolarstwo Kompendium
1 x Wiktora Degi ortopedia i rehabilitacja Wybrane zagadnienia z zakresu chorób i urazów narządu ruchu dla studentów i lekarzy
1 x Biznes i futbol
1 x Aplikacja 2010 Prawo gospodarcze i handlowe Testy V
1 x Kamienie szlachetne i ozdobne Wszystkie rodzaje i odmiany świata 1900 okazów Wydanie 3
1 x Zarządzanie projektami ze Scrumem Twórz produkty, które pokochają klienci
1 x Gomułka Władzy nie oddamy
1 x Determinanty konkurencyjności przedsiębiorstw
1 x Ochrona własności intelektualnej Wybór aktów prawnych dla studentów
1 x System sygnalizacji nr 7 Protokoły standaryzacja zastosowania
1 x Kasy fiskalne w 2015 i 2016 r. Pytania i odpowiedzi
4,319.68zł
Wydawnictwo
Tu można zobaczyć wszystkie książki z wydawnictwa:

Wydawnictwo Helion
 Kategoria:
 Energetyka
Nadchodzi era słońca

Nadchodzi era słońca

34.00zł
Informacje
Regulamin sklepu.
Koszty wysyłki.
Polityka prywatności.
Jak kupować?
Napisz do Nas.
 Wydawnictwa
 Polecamy
Fizyka współczesna Paul A. Tipler Ralph A. Llewellyn PWN
Autodesk Inventor Professional /Fusion 2012PL/2012+ Metodyka projektowania z płytą CD Andrzej Jaskulski PWN
3ds Max 2012 Biblia Kelly L. Murdock HELION
Chemia organiczna Część I-IV Komplet J. Clayden, N. Greeves, S. Warren, P. Wothers WNT
Przystępny kurs statystyki z zastosowaniem STATISTICA PL na przykładach z medycyny KOMPLET Tom 1 Tom 2 Tom 3 Andrzej Stanisz StatSoft
Akademia sieci CISCO CCNA Exploration Semestr 1 - 4 Praca zbiorowa PWN
Rachunek różniczkowy i całkowy Tom 1 Wydanie 12 Grigorij M. Fichtenholz PWN
Animacja komputerowa Algorytmy i techniki Rick Parent PWN
Encyklopedia zdrowia Tom 1-2 Wydanie 9 Witold S. Gumułka, Wojciech Rewerski PWN