linq to objects w c# 4.0 cała książka.pdf

(21395 KB) Pobierz
888171400.001.png
S PIS TRECI
Przedmowa .................................................................................................................................. 9
Wstp ......................................................................................................................................... 11
Kto powinien przeczytać tę książkę? ............................................................................................................... 12
Streszczenie książki ............................................................................................................................................ 12
Stałe elementy książki ........................................................................................................................................ 14
Pobieranie przykładowych kodów dla tej książki .......................................................................................... 15
Wybór języka ...................................................................................................................................................... 15
Wymagania systemowe ..................................................................................................................................... 15
Podzikowania ........................................................................................................................... 17
O autorze ................................................................................................................................... 19
ROZDZIA 1. Wprowadzenie do LINQ .................................................................................... 21
Co to jest LINQ? ................................................................................................................................................. 21
Aktualna (niemal) historia LINQ .................................................................................................................... 23
Modyfikacje kodu z LINQ — przykłady „przed” i „po” ............................................................................... 25
Korzyści z użycia LINQ ..................................................................................................................................... 31
Podsumowanie ................................................................................................................................................... 33
Źródła ................................................................................................................................................................... 34
ROZDZIA 2. Wprowadzenie do LINQ to Objects .................................................................. 35
Usprawnienia języka C# 3.0 umożliwiające pracę z LINQ ..........................................................................35
LINQ to Objects — pięciominutowy opis ...................................................................................................... 46
Podsumowanie ................................................................................................................................................... 52
Źródła ................................................................................................................................................................... 53
ROZDZIA 3. Pisanie podstawowych zapyta ......................................................................... 55
Opcje stylów składni zapytań ........................................................................................................................... 55
Jak filtrować wyniki (wyrażenie Where) ........................................................................................................ 62
Jak zmienić typ zwracany (projekcja wybierania) ......................................................................................... 66
Jak zwracać elementy, kiedy wynik jest sekwencją (SelectMany) ............................................................... 70
W jaki sposób otrzymać wartości indeksu wyników .................................................................................... 72
Jak usuwać powielone wyniki? ......................................................................................................................... 73
Jak sortować wyniki ........................................................................................................................................... 73
Podsumowanie ................................................................................................................................................... 81
6
Spis treci
ROZDZIA 4. Grupowanie i czenie danych ........................................................................... 83
Jak grupować elementy ..................................................................................................................................... 83
Jak łączyć dane z inną sekwencją ..................................................................................................................... 98
Podsumowanie ................................................................................................................................................. 121
ROZDZIA 5. Standardowe operatory zapyta ..................................................................... 123
Operatory wbudowane .................................................................................................................................... 123
Operatory agregacji — praca z liczbami ....................................................................................................... 124
Operatory konwersji — zmiana typów ......................................................................................................... 131
Operatory elementów ...................................................................................................................................... 141
Operator równości — SequenceEqual .......................................................................................................... 149
Operatory generujące — generowanie sekwencji danych ......................................................................... 150
Operatory scalania ........................................................................................................................................... 154
Operatory partycjonowania — pomijanie i pobieranie elementów ......................................................... 155
Operatory kwantyfikacji — All, Any i Contains ......................................................................................... 158
Podsumowanie ................................................................................................................................................. 164
ROZDZIA 6. Praca ze zbiorami danych ................................................................................ 165
Wprowadzenie ................................................................................................................................................. 165
Operatory zbiorów w LINQ ........................................................................................................................... 166
Klasa HashSet<T> ............................................................................................................................................ 175
Podsumowanie ................................................................................................................................................. 181
ROZDZIA 7. Tworzenie rozszerze LINQ to Objects ......................................................... 183
Pisanie nowego operatora zapytania ............................................................................................................. 183
Pisanie operatora pojedynczego elementu ................................................................................................... 184
Pisanie operatora sekwencji ........................................................................................................................... 195
Pisanie operatora agregacji ............................................................................................................................. 201
Pisanie operatora grupującego ....................................................................................................................... 206
Podsumowanie ................................................................................................................................................. 215
ROZDZIA 8. Nowe funkcje w C# 4.0 ................................................................................... 217
Ewolucja C# ...................................................................................................................................................... 217
Parametry opcjonalne i argumenty nazwane .............................................................................................. 218
Dynamiczne określanie typów ....................................................................................................................... 225
COM-Interop i LINQ ...................................................................................................................................... 232
Podsumowanie ................................................................................................................................................. 240
Źródła ................................................................................................................................................................ 240
Spis treci
7
ROZDZIA 9. Parallel LINQ to Objects ................................................................................. 241
Źródła programowania równoległego .......................................................................................................... 241
Wielowątkowość a równoległość w kodzie .................................................................................................. 244
Oczekiwania związane z równoległością, przeszkody i bariery ................................................................. 246
Równoległość danych LINQ ........................................................................................................................... 249
Pisanie operatorów Parallel LINQ ................................................................................................................. 265
Podsumowanie ................................................................................................................................................. 275
Źródła ................................................................................................................................................................. 275
Dodatek A Sowniczek ............................................................................................................ 277
Skorowidz ................................................................................................................................ 281
8
Spis treci
Zgłoś jeśli naruszono regulamin