13.1. Introducing LINQ
LINQ enables you to query data from a wide variety of data sources, directly from your programming code. LINQ is to your .NET application what SQL is to relational databases. With straightforward, declarative syntax you can query collections for objects that match your criteria.
LINQ is not just an add-on that is part of the .NET Framework. On the contrary, LINQ has been designed and implemented as a true part of the programming languages in .NET. This means that LINQ is truly integrated into .NET, giving you a unified way to query data, regardless of where that data comes from. In addition, because it is integrated into the language and not in a certain project type, LINQ is available in all kinds of projects including web applications, Windows Forms applications, Console applications, and so on. To help developers get familiar with LINQ, its syntax is closely modeled after SQL, the most popular query language for relational databases. This means that LINQ has keywords like Select, From, and Where to get data from a data source.
To give you an idea of what a LINQ query looks like, here's a quick example that shows a list of Wrox authors whose last names start with the letter S.
VB.NET
Imports System.Linq ... Dim authors As String() = New String() {"Homer, Alex", "Sussman, Dave", _ "Livermore, Shawn", "Bellinaso, Marco", "Spaanjaars, Imar"} Dim result = From author In authors _ Where author.StartsWith("S") _ Select author For Each author In result Label1.Text ...