C# 3.0 and the LINQ Project

I believe that C# 3.0 language is interesting for two main reasons. The first reason, that you can see discussed in many places is that it enables the LINQ project, which integrates a support for queries in the language. LINQ also enables technologies like LINQ to SQL, LINQ to XML and other technologies for querying various data sources. The second reason is that C# 3.0 includes some concepts from functional languages, which makes it possible to use several functional programming techniques in a main-stream C# language. When writing about C#, I usually focus on the second reason, because I believe that there are only a few articles on that topic, however some of the ideas are very useful when using technologies like LINQ to SQL.

Articles about LINQ and C# 3.0

  • Asynchronous Programming in C# using Iterators (11/15/2007)

    In this article we will look how to write programs that perform asynchronous operations like manipulation with network in C# using iterators without the typical inversion of control caused by the use of delegates.

  • Lazy Computation in C# on MSDN (10/6/2007)

    I think that one of the interesting things about C# 3.0 is that it gives you the ability to use many techniques known from functional languages...

  • Building LINQ Queries at Runtime in F# (8/18/2007)

    In this article I will introduce FLinq, the F# support for language integrated query and show how we can construct a database queries dynamically in a type-safe way in F#.

  • Building LINQ Queries at Runtime in C# (7/30/2007)

    Common criticism of LINQ is that it doesn't support a scenario where queries are build dynamically at the runtime. In this article I show that this can be acutally done very well for most of the common scenarios.

  • CLinq - LINQ support for the C++/CLI language (3/2/2007)

    CLinq project is a library that makes it possible to use LINQ technologies from the C++/CLI language.

  • Can't return anonymous type from method? Really? (1/23/2007)

    This article describes anonymous types - one of the new C# 3.0 features and shows interesting trick that can be used when returning anonymous type from method.

  • Concepts behind the C# 3.0 language (10/15/2006)

    In this article I'll describe concepts that influenced the design of the C# 3.0. Most of these concepts are known from other programming languages like Haskell, LISP or languages developed at Microsoft Research.

  • LINQ extensions - Simplified keyword search (7/28/2006)

    Article describes LINQ extension that adds support for returning rows that contain any or all of specified keywords in string column.

  • Calling functions in LINQ queries (6/10/2006)

    This article describes method that allows you to reuse parts of LINQ queries across data access layer.

Related Links

(Published: October 11, 2007 02:40)