Programming Reactive Extensions and LINQ
Copyright 2011 by Jesse Liberty and Paul Betts
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.
ISBN-13 (pbk): 978-1-4302-3747-1
ISBN-13 (electronic): 978-1-4302-3748-8
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
President and Publisher: Paul Manning
Lead Editor: Ewan Buckingham
Technical Reviewer: Stefan Turalski
Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Morgan Engel,
Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham,
Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke,
Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Tom Welsh
Coordinating Editor: Jessica Belanger
Copy Editor: Kimberly Burton
Indexer: BIM Indexing & Proofreading Services
Production Support: Patrick Cunningham
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com
, or visit www.springeronline.com.
For information on translations, please e-mail rights@apress.com
, or visit www.apress.com
.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk SaleseBook Licensing web page at www.apress.com/bulk-sales
.
The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.
The source code for this book is available to readers at www.apress.com
. You will need to answer questions pertaining to this book in order to successfully download the code.
This book is dedicated to my mother, Edythe Levine, who will not understand one word of it,
but will love it anyway.
Jesse Liberty
This book is dedicated to my wife, Ulrike Stoll, who has been and continues to be infinitely
understanding about my late nights spent hacking on the next big idea.
Paul Betts
Contents at a Glance
Contents
About the Authors
Jesse Liberty is a senior developer-community evangelist on the Microsoft Windows Phone team. He hosts the popular Yet Another Podcast on his blog at http://JesseLiberty.com
. The entire blog is required reading. Liberty is the co-author of numerous top-selling books, including Migrating to Windows Phone 7 by (Apress, 2011) and Programming C# 4.0 (O'Reilly Media, 2010). Prior to Microsoft, he was a distinguished software engineer at AT&T, a software architect for PBS, and vice president of information technology at Citibank. He can be followed on Twitter @JesseLiberty
.
Paul Betts is a software developer and Hubbernaut at GitHub, where he works on bringing the joy of Git and GitHub to the world of .NET and Windows. Paul previously worked at Microsoft in the Windows and Office organizations. His blog can be found at http://blog.paulbetts.org.
Follow him on Twitter at @xpaulbettsx
.
About the Technical Reviewer
Stefan Turalski is a nice chap who is capable of performing both magical and trivial things with a little help from code, libraries, tools, APIs, servers, and the like. He is experienced in almost all aspects of the software lifecycle, and is especially skilled in business analysis, design, implementation, testing, and QA.
Turalski's areas of interest are wide, best summarized as emerging technologies. His current focus is on .NET 4.5 , GPGPU, event-driven architectures, and software engineering at large. Before he realized that he enjoys criticizing other people's work more, Stefan published several technical articles, mainly about .NET technology, SOA (service-oriented architecture), and software engineering.