Understanding Delegates in C# for beginners

Delegates as a technical concept in C# create a lot of confusion in the beginners’ mind. It is a fairly simple concept but most of the examples floating around on the web are so trivial that they do not expose the real benefits of delegates.
 
We could have saved ourselves some time and typing by simply calling the function instead of wrapping it in a delegate. When the uninitiated reader is presented with such code, there is absolutely no learning that takes place. This is exactly why I decided to create a series of elaborate articles to note down my thoughts on topics I learn. The sample above and the discussion may not make any sense to the reader at present, but please keep reading. Things will surely become crystal clear by the end of this article.
 
Continue here>>