呵呵,今天去聽 Anders Hejlsberg 講 C# 3.0,內容真的是很精采啊。Anders 本人有一種說不上來的獨特魅力,不會讓你因為覺得他非常聰明而不敢接近他,感覺是個很有親和力的人。在這個 session 他很有條理、循序漸進地告訴你為什麼這些 C# 的新功能需要被加進來:
- Lambda expressions
- Extension methods
- Local variable type inference
- Object initializers
- Anonymous types
- Query expressions
- Expression trees
本來我一直以為 C# 3.0 只是新增了 query language 的語法 (Microsoft 所謂的 Language Integrated Query, 簡稱 LINQ),今天才知道 C# 為了實現 LINQ 也新增了許多令人興奮的新功能。這段 code 真是越看越酷:
var contacts =
from c in customers
where c.State == "WA"
select new { c.Name, c.Phone };
有興趣的可以參考 Overview of C# 3.0 (Word) 及 PDC 2005 Hands-On Lab “C# 3.0 Language Enhancements” (Word)。