Delegate Equality C# with Example
Calling .Equals() on a delegate compares by reference equality: Action action1 = () => Console.WriteLine("Hello delegates"); Action action2 = () => Console.WriteLine("Hello delegates"); Action action1Again = action1; Console.WriteLine(action1.Equals(action1)) // True Console.WriteLine(action1.Equals(action2)) // False Console.WriteLine(action1Again.Equals(action1)) // True These rules also apply when doing += or -= on a multicast delegate, for example when subscribing and unsubscribing from events.