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

Published: October 11, 2007 02:40
Bookmarks: