I never seem to understand why we need delegates? I know they are immutable reference types that hold reference of a method but why can\'t we just call the method directly,
Of course you can call method directly on the object but consider following scenarios:
Select
method.