One of the things I've asked a lot about on this site is LINQ. The questions I've asked have been wide and varied and often don't have much context behind them. So in an attempt to consolidate the knowledge I've acquired on Linq I'm posting this question with a view to maintaining and updating it with additional information as I continue to learn about LINQ.
I also hope that it will prove to be a useful resource for other people wanting to learn about LINQ.
From MSDN:
The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities.
What this means is that LINQ provides a standard way to query a variety of datasources using a common syntax.
Currently there are a few different LINQ providers provided by Microsoft:
There are quite a few others, many of which are listed here.
Chook provides a way to output CSV files
Jeff shows how to remove duplicates from an array
Bob gets a distinct ordered list from a datatable
Marxidad shows how to sort an array
Dana gets help implementing a Quick Sort Using Linq
A summary of links from GateKiller's question are below:
Scott Guthrie provides an intro to Linq on his blog
An overview of LINQ on MSDN
ChrisAnnODell suggests checking out:
Linq is currently available in VB.Net 9.0 and C# 3.0 so you'll need Visual Studio 2008 or greater to get the full benefits. (You could always write your code in notepad and compile using MSBuild)
There is also a tool called LinqBridge which will allow you to run Linq like queries in C# 2.0.
This question has some tricky ways to use LINQ
LINQ to entities:
I've got a lot more I tagged on Delicious.com.