Skip to content

Latest commit

 

History

History
41 lines (34 loc) · 1.73 KB

Readme.md

File metadata and controls

41 lines (34 loc) · 1.73 KB

LINQ-Tutorial

This is LINQ training material for our Senior Software Engineers.

This tutorial is in form of Visual Studio solution. The best way to use this tutorial is to clone this repository (or download zip) and read the materials from your Visual Studio.

The texts and code-samples are in the form of unit test projects so you can run and test those as you read.

The practice tasks can be solved by a line or two of code. But some of those are not easy as they test the theory that is written to this tutorial. Practice tasks are unit tests and you should be able to write the code to pass those test without modifying the tests.


The structure of this tutorial:

  1. Introduction
  • Details of C# lists
  1. What are the extension methods
  • Extension methods
  • Yield return
  1. What are the function parameters
  • Delegates, Func and lambdas
  • Functions as parameters
  • Expression trees
  • Closure: Capturing variables
  1. Types and type parameters: Generics
  • Types and classes
  • Generics and type parameters
  1. Monads: Map, Select and Select many
  • Some typical LINQ methods
  • Monadic Bind: SelectMany
  • Missing PatternMatching
  • LINQ... extensions and yields?
  • LINQ to my objects
  1. Catamorphism: Aggregate is Fold
  • Fold: Aggregate
  • Inside Aggregate: Accumulator and tail recursion
  1. Continuation and types of IE vs. IQ vs IO vs ...
  • Continuation
  • Same LINQ, different monads
  • Entity Framework in brief
  1. Links