A delegate is a type. It is a very special type because an instance of this type can point to a method. A event is a instance of a delegate. When calling a event you start a method.
This is a short hand naming conventions for frequently used code
Every where where you see " =>"
That is a Lambda
arr.ToList().ForEach( x => Console.WriteLine (x));
Func<int, int> multiplyByFive = num => num * 5;