Explain LINQ and Lambda Expressions C#