C# 3.0

Linq関連の記事のメモ

LinqをORMとして見た時の最適化(カスタマイズ)ってできるのか興味があるので少しLinqの実装を調査し始めました。 Linqも最近はいろいろ情報がでてきてなんとなくイメージがわかるのですがまだまだクリアになっていません。特にクエリ式(Query Expression…

拡張メソッドの使い道

A Ruby-like Mixin for NSpec Using C# 3.0 Extension MethodsC#3.0の拡張メソッドを利用するとRSpecのようにコードが書け直感的にで読みやすくなる。 RSpec user.username.should_equal "username" NSpec(C#3.0) user.Username.ShouldEqual("username") ち…

自動プロパティ

C# Automatic Properties public string Bar { get; set; } 上記は以下のように自動的に変換される private string foo; public string Bar { get { return foo; } set { foo = value; } } 微妙だけど案外うれしいかも。できるだけコードは書きたくないから…

こんどのC#はすごいな(その2)

Haskellなどの関数型言語が少しブームになっていますが、次期C#にも関数型の思想が入ってくる。 それを応用すると遅延評価(lazy evaluation)などを自然*1に含めることができるらしい。 // Now, the parameters are functions that // can be used for calc…

こんどのC#はすごいな

C# 3.0すごいことになりそうですね。 おもいっきり関数型の思想を入れてきそうです。 // Line 1: (define f (lambda (a) (+ a 1))) Func f = a => a + 1; // Line 2: (define e (quote (lambda (a) (+ a 1)))) Expression> e = a => a + 1;Code and Data in …