我的一些文章可能是相关的:
我的书,深度的C#,有一整章专门讨论代表(第5章).不幸的是,这不是免费的之一:(
总结中的主要变化(正如Jared所说,这些是语言变化 - .NET本身并没有太大变化,超出它们变得通用,并且框架提供了方便Func和Action委托):
C#2:
方法组转换:
// Old:
button.Click += new EventHandler(HandleClick);
// New:
button.Click += HandleClick;
Run Code Online (Sandbox Code Playgroud)匿名方法:
button.Click += delegate { Console.WriteLine("Click!"); };
Run Code Online (Sandbox Code Playgroud)协方差/逆变:
EventHandler generalHandler = LogEvent;
button.Click += generalHandler;
button.KeyPress += generalHandler; // Event type is KeyPressEventHandler
Run Code Online (Sandbox Code Playgroud)C#3:
Lambda表达式:
button.Click += (sender, args) => Console.WriteLine("Click!");
Run Code Online (Sandbox Code Playgroud)
或者更重要的是:
var people = list.Where(person => person.Name != "Jon")
.OrderBy(person => person.Age);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |