LINQ_to_Objects_w_C_4_0_linobj.pdf

(725 KB) Pobierz
Tytuł oryginału: LINQ to Objects Using C# 4.0: Using and Extending LINQ
to Objects and Parallel LINQ (PLINQ)
Tłumaczenie:
Łukasz
Schmidt
ISBN: 978-83-246-3609-9
Authorized translation from the English language edition, entitled: LINQ TO OBJECTS USING C# 4.0:
USING AND EXTENDING LINQ TO OBJECTS AND PARALLEL LINQ (PLINQ); ISBN 0321637003;
by Troy Magennis, published by Pearson Education, Inc, publishing as Addison Wesley. Copyright © 2010
by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education Inc.
Polish language edition published by HELION S.A.. Copyright © 2012.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak
żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również
żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/linobj.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/linobj
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
S
PIS TRE¥CI
Przedmowa .................................................................................................................................. 9
WstÚp ......................................................................................................................................... 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
PodziÚkowania ........................................................................................................................... 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
Kup książkę
Poleć książkę
6
Spis tre ci
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
Kup książkę
Poleć książkę
Spis tre ci
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 Sïowniczek ............................................................................................................ 277
Skorowidz ................................................................................................................................ 281
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin