Io sono passato da poco al C# dal C++.

In C++ nella programmazione in windows mi ricordo che c'era un ciclo ed una lista degli eventi fatti dall'utente:
Il ciclo principale ogni volta controllava se un qualche evento era stato fatto dall'utente ed in caso l'avesse fatto avrebbe richiamato una funzione.

Esempio:
Codice PHP:
ciclo principale
{
     if(
pressioneX == true)
     {
          
faiQuesto();
          
faiQuellAltro();
     }

Ora in C# perchè dovrei usare un delegate e non questo sistema che usavo anche prima? Che vantaggi fornisce?