The term "LINQ to Objects" refers to the use of LINQ queries with any IEnumerable or IEnumerable<T> collection directly, without the use of an intermediate LINQ provider or API such as LINQ to SQL or LINQ to XML. You can use LINQ to query any enumerable collections such as List<T>, Array, or Dictionary<TKey,TValue>. The collection may be user-defined or may be returned by a .NET Framework API.
In a basic sense, LINQ to Objects represents a new approach to collections. In the old way, you had to write complex
foreach loops that specified how to retrieve data from a collection. In the LINQ approach, you write declarative code that describes what you want to retrieve.
In addition, LINQ queries offer three main advantages over traditional
They are more concise and readable, especially when filtering multiple conditions.
They provide powerful filtering, ordering, and grouping capabilities with a minimum of application code.
They can be ported to other data sources with little or no modification.
In general, the more complex the operation you want to perform on the data, the more benefit you will realize by using LINQ instead of traditional iteration techniques.
The purpose of this section is to demonstrate the LINQ approach with some select examples. It is not intended to be exhaustive.
In This Section
LINQ and Strings (C#)
Explains how LINQ can be used to query and transform strings and collections of strings. Also includes links to topics that demonstrate these principles.
LINQ and Reflection (C#)
Links to a sample that demonstrates how LINQ uses reflection.
LINQ and File Directories (C#)
Explains how LINQ can be used to interact with file systems. Also includes links to topics that demonstrate these concepts.
How to: Query an ArrayList with LINQ (C#)
Demonstrates how to query an ArrayList in C#.
Language-Integrated Query (LINQ) (C#)
Provides links to topics that explain LINQ and provide examples of code that perform queries.