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
- Functional Programming in .NET using C# and F# (Manning Greenpaper) (12/11/2008)
This article is partially an excerpt from my book. It introduces the benefits of functional pogramming, and explains the essential aspects of the functional style using F# and C# 3.0. Finally, it also shows how functional style influences the application architecture.
- Reactive Programming (IV.) - Developing a game in Reactive LINQ (11/24/2008)
In this article, we'll implement a simple iteractve game using the Reactive LINQ project. The article shows that this way of handling events gives us amog other things a great degree of composability.
- Reactive Programming (III.) - Useful Reactive LINQ Operators (11/21/2008)
In the previous article, I introduced Reactive LINQ. Today, we're going to look at other operators that canbe used for working with events. We'll see aggregation is useful and how to dynamically change (switch) behavior.
- Reactive programming (II.) - Introducing Reactive LINQ (11/19/2008)
In the second part of the series about reactive programming, I introduction the Reactive LINQ project, which allows writing event processing code in C# using LINQ queries.
- Reactive programming (I.) - First class events in F# (11/16/2008)
The LINQ project and changes in C# 3.0 are interesting because they allow implementing many ideas from functional languages in C#. In this article I'll explain "first-class events" in F# and later I'll implemet similar concept using LINQ.
- Calculating with infinite sequences on MSDN (11/13/2008)
About a year ago, I wrote an article about infinite sequences on MSDN. I remembered about it this week, because these topics will be discussed in the book I'm working on as well...
- Functional Programming in .NET book - An update (10/20/2008)
Recently, I announced on my blog that I’m working on a book for Manning called Real-world Functional Programming in .NET. It is more than a month since I wrote about it, so here is a brief update...
- 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
Bookmarks:

