LINQ (Language Integrated Query) queries collections with a fluent API—Where, Select, OrderBy—similar to Java Streams but built into C# syntax with query expressions. This is a major differentiator from Java and JavaScript array methods alone.
Method syntax
var nums = new[] { 1, 2, 3, 4, 5 };
var evens = nums.Where(n => n % 2 == 0);
var squares = evens.Select(n => n * n);
LINQ operators return IEnumerable<T> and execute lazily until you enumerate or call aggregators like Count, Sum, or ToList.
Query syntax (optional)
var query = from n in nums where n % 2 == 0 select n * n;
Important interview questions and answers
- Q: Deferred execution?
A: LINQ chains build an expression tree/iterator; work runs when you foreach or materialize—re-enumerating may re-run filters. - Q: LINQ to Objects vs EF?
A: In-memory collections here; EF translates LINQ to SQL in the ASP.NET data lessons.
Self-check
- Which operator filters elements?
- When does a Where chain actually run?
Tip: LINQ queries are deferred—materialize with ToList() or ToArray() when you need a snapshot or multiple enumerations.
Interview prep
- Deferred execution?
LINQ operators build a query pipeline—enumeration (foreach, ToList) runs the query; multiple enumerations may re-run it.
- Where vs Select?
Wherefilters elements;Selectprojects each element to a new shape.