Getting Started
The basic units of data in LINQ are sequences
and elements. A sequence is any object that
implements the generic IEnumerable
interface, and an element is each item in the sequence. In the following
example, names
is a sequence, and
Tom, Dick
, and Harry
are elements:
string[] names = { "Tom", "Dick", "Harry" };
We call such a sequence a local sequence because it represents a local collection of objects in memory.
A query operator is a method that transforms
a sequence. A typical query operator accepts an input
sequence and emits a transformed output
sequence. In the Enumerable
class in System.Linq
, there are around 40 query operators, all implemented as static extension
methods, called standard query operators.
Note
LINQ also supports sequences that can be dynamically fed from a
remote data source such as a SQL Server. These sequences additionally implement the
IQueryable<>
interface and
are supported through a matching set of standard query operators in
the Queryable
class. For more
information, see the upcoming “Interpreted Queries” section.
A query is an expression that transforms
sequences with query operators. The simplest query comprises one input
sequence and one operator. For instance, we can apply the Where
operator on a simple array to extract
those whose length is at least four characters as follows:
string[] names = { "Tom", "Dick", "Harry" };IEnumerable<string> filteredNames =
System.Linq.Enumerable.Where (
names, n => n.Length >= 4);
foreach (string n in ...
Get LINQ Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.