Diciamo che va a gusti... entrambi hanno le stesse potenzialità (puntatori a parte) compilando entrambi in codice IL. C# comunque è stato progettato apposta per "rispecchiare" le caratteristiche del runtime .Net.