C#进阶指南
C# 是一种功能强大的编程语言,其高级语法特性为开发者提供了更灵活、高效和简洁的编程方式。以下是一些常见的 C# 高级语法特性:
1. 委托(Delegate)
委托是一种类型安全的函数指针,用于封装方法的引用。它可以将方法作为参数传递,实现回调机制。
-
定义委托:
csharp复制
public delegate void MyDelegate(string message);
-
使用委托:
csharp复制
public void PrintMessage(string message) { Console.WriteLine(message); } public void Execute(MyDelegate del) { del("Hello, World!"); } // 调用 MyDelegate del = new MyDelegate(PrintMessage); Execute(del);
2. 事件(Event)
事件是基于委托的机制,用于实现发布-订阅模式,允许对象在特定事件发生时通知其他对象。
-
定义事件:
csharp复制
public class EventPublisher { public event Action<string> OnMessage; public void TriggerEvent(string message) { OnMessage?.Invoke(message); // 安全调用事件 } }
-
订阅事件:
csharp复制
public class EventSubscriber { public void HandleMessage(string message) { Console.WriteLine($"Received: {message}"); } } // 使用 EventPublisher publisher = new EventPublisher(); EventSubscriber subscriber = new EventSubscriber(); publisher.OnMessage += subscriber.HandleMessage; publisher.TriggerEvent("Hello, Event!");
3. 匿名方法和 Lambda 表达式
匿名方法和 Lambda 表达式提供了更简洁的方式定义委托或事件处理程序。
-
匿名方法:
csharp复制
Action<stri