Szczegóły ebooka

C# 3.0. Leksykon kieszonkowy. Wydanie II

C# 3.0. Leksykon kieszonkowy. Wydanie II

Ben Albahari, Joseph Albahari

Ebook
Poznaj nowości języka C# i podnieś wydajność programowania.
  • Co nowego w C# 3.0?
  • Jak skrócić i usprawnić swój kod?
  • Do czego służy mechanizm LINQ?

C# jest obiektowym językiem programowania zalecanym przez Microsoft dla platformy .NET Framework. Pozwala definiować wiele różnorodnych elementów składowych klas, nie tylko pola czy metody. Analiza struktury kodu umożliwia tworzenie wysoce uniwersalnych mechanizmów operujących na strukturze kodu nieznanej w czasie kompilacji. Wiedza programisty jest kluczem do wykorzystania wszystkich jego możliwości. Leksykon stanowi bogate kompendium nowych rozwiązań dostępnych w C# 3.0 oraz ich implementacji. Opisane zagadnienia, dotyczące mechanizmu LINQ (Language Integrated Query), pozwalają na pozyskanie praktycznej wiedzy niezbędnej we współczesnym programowaniu. Książka C# 3.0 Leksykon kieszonkowy. Wydanie II, poruszająca w sposób przejrzysty i rzeczowy całość pojęciowych zmian koniecznych do opanowania C#, jest idealną pozycją dla wszystkich programistów, którym nieobca jest Java, C++ lub poprzednie wersje C#.

Do najważniejszych cech wyróżniających język C# w wydaniu 3.0 zaliczamy:
  • wyrażenia lambda,
  • metody rozszerzające,
  • niejawne typowanie zmiennych lokalnych,
  • składnię ujmowania zapytań w kodzie,
  • typy anonimowe,
  • niejawne typowanie tablic,
  • inicjalizatory obiektów,
  • właściwości automatyczne,
  • metody częściowe,
  • drzewa wyrażeń.

Nie trać czasu na szukanie informacji! Programuj wydajnie i efektywnie z kieszonkowym leksykonem!

Nowości w C# 3.0 (11)

Pierwszy program w C# (15)

  • Kompilacja (18)

Składnia (19)

  • Identyfikatory i słowa kluczowe (20)
  • Literały, znaki interpunkcyjne i operatory (22)
  • Komentarze do kodu (23)

System typów (23)

  • Przykłady typów predefiniowanych (24)
  • Przykłady typów własnych (25)
  • Konwersje (29)
  • Typy wartościowe a typy referencyjne (30)
  • Taksonomia typów predefiniowanych (34)

Typy liczbowe (35)

  • Literały liczbowe (36)
  • Konwersje liczbowe (38)
  • Operatory arytmetyczne (40)
  • Operatory inkrementacji i dekrementacji (40)
  • Specjalizowane operacje na liczbach całkowitych (41)
  • Liczby całkowite 8- i 16-bitowe (43)
  • Wyróżnione wartości zmiennoprzecinkowe (43)
  • double kontra decimal (45)
  • Błędy zaokrąglania liczb rzeczywistych (46)

Typ wartości logicznych i operatory logiczne (47)

  • Operatory porównania i relacji (47)
  • Operatory logiczne (48)

Znaki i ciągi znaków (49)

  • Konwersje znaków (50)
  • Typ string (51)

Tablice (54)

  • Domyślna inicjalizacja elementów tablic (55)
  • Tablice wielowymiarowe (57)
  • Wyrażenia uproszczonej inicjalizacji tablic (58)
  • Kontrola zakresów (60)

Zmienne i parametry (61)

  • Stos i sterta (61)
  • Przypisania oznaczone (63)
  • Wartości domyślne (64)
  • Parametry (64)
  • Niejawne typowanie zmiennych lokalnych (C# 3.0) (var) (69)

Operatory i wyrażenia (70)

  • Wyrażenia proste (71)
  • Wyrażenia bezwartościowe (71)
  • Wyrażenia przypisania (71)
  • Priorytety i łączność operatorów (72)
  • Tabela operatorów (73)

Instrukcje (77)

  • Instrukcje deklaracji (77)
  • Instrukcje wyrażeniowe (78)
  • Instrukcje warunkowe (79)
  • Instrukcje iteracyjne (83)
  • Instrukcje skoku (86)
  • Inne instrukcje (88)

Przestrzenie nazw (89)

  • Dyrektywa using (90)
  • Reguły obowiązujące w przestrzeniach nazw (91)
  • Synonimy typów i przestrzeni nazw (93)

Klasy (93)

  • Pola (94)
  • Metody (95)
  • Konstruktory instancji (96)
  • Inicjalizatory obiektów (C# 3.0) (98)
  • Referencja this (99)
  • Właściwości (100)
  • Indeksery (102)
  • Stałe (104)
  • Konstruktory statyczne (105)
  • Klasy statyczne (106)
  • Finalizatory (106)
  • Klasy i metody częściowe (107)

Dziedziczenie (108)

  • Polimorfizm (110)
  • Rzutowanie (110)
  • Wirtualne funkcje składowe (112)
  • Klasy i składowe abstrakcyjne (114)
  • Widoczność składowych dziedziczonych (114)
  • Pieczętowanie funkcji i klas (115)
  • Słowo kluczowe base (116)
  • Konstruktory a dziedziczenie (117)
  • Przeciążanie a rozstrzyganie wywołań (118)

Typ object (119)

  • Pakowanie i odpakowywanie (120)
  • Statyczna i dynamiczna kontrola typów (121)
  • Wykaz składowych klasy object (122)
  • Metoda GetType() i operator typeof (122)
  • Equals, ReferenceEquals i GetHashCode (123)
  • Metoda ToString (124)

Struktury (125)

  • Semantyka konstrukcji struktury (126)

Modyfikatory dostępu (127)

  • Przykłady (128)
  • Narzucanie dostępności (128)
  • Ograniczenia modyfikatorów dostępu (129)

Interfejsy (129)

  • Rozszerzanie interfejsu (131)
  • Jawna implementacja interfejsu (131)
  • Wirtualne implementowanie składowych interfejsów (132)
  • Ponowna implementacja interfejsu w klasie pochodnej (133)

Typy wyliczeniowe (135)

  • Konwersje typów wyliczeniowych (136)
  • Flagi (137)
  • Operatory typów wyliczeniowych (138)

Typy zagnieżdżone (139)

Uogólnienia (140)

  • Typy uogólnione (140)
  • Po co nam uogólnienia (142)
  • Metody uogólnione (143)
  • Deklarowanie parametrów uogólnienia (144)
  • Uogólnienia a typeof (145)
  • Domyślna wartość uogólnienia (146)
  • Ograniczenia uogólnień (146)
  • Uogólnienia i kowariancja (148)
  • Pochodne typów uogólnionych (149)
  • Deklaracje uogólnień z odwołaniami do siebie (150)
  • Dane statyczne (150)
  • Inicjalizowanie kolekcji uogólnionych (151)

Delegaty (151)

  • Pisanie metod-wtyczek dla delegatów (153)
  • Delegaty wielokrotne (153)
  • Metody statyczne i metody instancji jako metody docelowe (155)
  • Uogólnione typy delegatów (155)
  • Zgodność delegatów (155)

Zdarzenia (157)

  • Standardowy schemat zdarzenia (159)
  • Akcesory zdarzenia (163)
  • Modyfikatory zdarzeń (164)

Wyrażenia lambda (C# 3.0) (164)

  • Jawne określanie typów parametrów lambdy (166)
  • Uogólnione wyrażenia lambda i delegaty Func (166)
  • Zmienne zewnętrzne (167)

Metody anonimowe (169)

Wyjątki i instrukcja try (170)

  • Klauzula catch (173)
  • Blok finally (174)
  • Zgłaszanie wyjątków (176)
  • Najważniejsze właściwości klasy System.Exception (178)
  • Najczęstsze wyjątki (178)

Enumeratory i iteratory (180)

  • Enumeracja (180)
  • Iteratory (181)
  • Semantyka iteratora (183)
  • Składanie sekwencji (184)

Typy z dopuszczalną wartością pustą (185)

  • Podstawy (185)
  • Pożyczanie operatorów (188)
  • Typ bool? (190)
  • Operator ?? (191)

Przeciążanie operatorów (191)

  • Funkcje operatorów (192)
  • Przeciążanie operatorów porównania i relacji (193)
  • Własne konwersje jawne i niejawne (194)

Metody rozszerzające (C# 3.0) (196)

  • Kaskadowe wywołania metod rozszerzających (197)
  • Niejednoznaczność i rozstrzyganie niejednoznaczności (197)

Typy anonimowe (C# 3.0) (199)

LINQ (C# 3.0) (200)

  • Podstawy LINQ (200)
  • Opóźnione wykonanie (205)
  • Standardowe operatory zapytań (207)
  • Kaskadowe operatory zapytań (213)
  • Składnia zapytań (214)
  • Słowo kluczowe let (218)
  • Kontynuacje zapytań (219)
  • Zapytania z wieloma generatorami (219)
  • Złączenia (221)
  • Porządkowanie (224)
  • Grupowanie (225)
  • Operatory OfType i Cast (228)

Atrybuty (229)

  • Klasy atrybutów (229)
  • Parametry nazwane i pozycyjne (230)
  • Obiekt docelowy atrybutu (231)
  • Nadawanie wielu atrybutów (231)
  • Definiowanie własnych atrybutów (232)
  • Odwołania do atrybutów w czasie wykonania (233)

Wskaźniki i kod nienadzorowany (234)

  • Elementarz wskaźników (234)
  • Kod nienadzorowany (235)
  • Instrukcja fixed (235)
  • Operator dostępu do składowej przez wskaźnik (237)
  • Tablice (237)
  • Typ void* (238)
  • Wskaźniki do kodu nienadzorowanego (239)

Dyrektywy preprocesora (239)

  • Atrybuty warunkowe (241)
  • Ostrzeżenia i pragma (242)

Dokumentacja XML (243)

  • Standardowe znaczniki dokumentacji XML (244)

Przegląd infrastruktury i środowiska (247)

  • Rdzeń infrastruktury (248)
  • Technologie interfejsu użytkownika (256)
  • Technologie zaplecza aplikacji (261)
  • Technologie systemów rozproszonych (263)

Skorowidz (267)

  • Tytuł: C# 3.0. Leksykon kieszonkowy. Wydanie II
  • Autor: Joseph Albahari, Ben Albahari
  • Tytuł oryginału: C# 3.0 Pocket Reference: Instant Help for C# 3.0 Programmers, 2nd Edition
  • Tłumaczenie: Przemysław Szeremiota
  • ISBN: 978-83-246-5987-6, 9788324659876
  • Data wydania: 2012-10-16
  • Format: Ebook
  • Identyfikator pozycji: cshlk2
  • Wydawca: Helion