A delegate in C# is an object that holds the reference to a method. It is like function pointer in C++.