Language-Integrated QueryThe first part of the LINQ to Objects tutorial describes the language-integrated query (LINQ) features that were introduced in version 3.5 of the .NET framework. LINQ provides a standardised means to query information from many different data sources.

Simple LINQ QueriesThe second part of the LINQ to Objects tutorial describes basic querying using LINQ features. The article discusses the "Where" standard query operator, known as the restriction operator, and the equivalent query expression syntax.

LINQ ProjectionThe third part of the LINQ to Objects tutorial describes basic projection in LINQ using the Select standard query operator and the select clause. These allow the type of all of the values that are returned from a LINQ query to be specified.

LINQ One-to-Many ProjectionThe fourth part of the LINQ to Objects tutorial continues the investigation of the projection operators and clauses. This article describes the use of the SelectMany operator, which allows one-to-many object hierarchies to be flattened and queried.

LINQ Results OrderingThe fifth part of the LINQ to Objects tutorial looks at sorting collections or the results of LINQ queries. This is achieved using the group of five standard query operators that relate to ordering, or the equivalent clauses in query expression syntax.

LINQ GroupingThe sixth part of the LINQ to Objects tutorial examines grouping using the GroupBy standard query operator and equivalent query expression syntax. These allow a collection to be divided into smaller collections, each of which shares a common key.

LINQ AggregationThe seventh part of the LINQ to Objects tutorial looks at aggregate functions. These are standard query operators that can be applied to sequences and groups, performing a calculation that combines all of the values in a collection.

LINQ JoinsThe eighth part of the LINQ to Objects tutorial investigates the Join standard query operator and the equivalent use of the join clause. These allow two or more sets of data to be combined according to key information in each collection.

LINQ Grouped JoinsThe ninth part of the LINQ to Objects tutorial looks at grouped joins. These allow two collections to be combined in a join operation based upon matching key values. The results are then grouped into keyed collections that may be aggregated.

LINQ PartitioningThe tenth part of the LINQ to Objects tutorial examines partitioning of collections using LINQ. Several standard query operators are provided that break a collection of data into two sections and return one of those parts as an enumerable object.