Thinking in LINQ: Harnessing the power of functional programing in .NET applications (2014)
Chapter 1. Thinking Functionally
Chapter 4. Refactoring with LINQ
Chapter 5. Refactoring with MoreLINQ
Chapter 6. Creating Domain-Specific Languages
Chapter 7. Static Code Analysis
Chapter 8. Exploratory Data Analysis
Chapter 9. Interacting with the File System
APPENDIX B. Taming Streaming Data with Rx.NET