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
- LINQ Extensions [^] - LINQ Extensions Project at CodePlex
- Lazy Computation in C# [^] - My article that introduces useful functional trick called lazy evaluation using the C# 3.0 language.
(Published: October 11, 2007 02:40)

