Qus: What are delegates?
In .NET Framework delegates provide a late binding mechanism. it means which we create an algorithm where the caller also supplies at least one method that implements part of the algorithm. Consider sorting a list of stars in an astronomy program. we may choose to sort those stars by their distance from the earth, or the magnitude of the star, or their perceived brightness.
Delegates are especially used for implementing events and the call-back methods.