呵呵,今天去聽 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)