Не пытайтесь увидеть C # + эти функции.Кроме того, потому что нет строгого прагматического ответа на ваш вопрос.
Начните с точки зрения функционального программирования, например, попробуйте изучить F #, чтобы понять, что и когда используются лямбды (фактически везде внутри функционального языка).) и тогда вы поймете вещи лучше.
Это откроет ваш разум и заставит вас по-другому взглянуть на императивное программирование или смешанные языки, такие как C #.