Salve ho appena iniziato a studiare il C#, dopo aver studiato il C e il C++, e mi sono imbattuto nell'operatore new, il quale avevo già visto con il C++, solo che nello C# se ne fa più uso, almeno il libro che sto leggendo io.

Ho capito la sua funzione, ossia che a differenza di un'allocazione classica come int x, la quale viene allocata nella memoria stack della RAM, la dichiarazione int x = new int, viene allocata nella memoria heap della RAM.

Conosco anche la differenza tra stack e heap, solo che non riesco a capire quando si deve usare l'uno e quando l'altro.
Se qualcuno mi potrebbe fare un esempio pratico sarebbe l'ideale.

Grazie