Evo i ja sam poceo kao i ti, znao C++, a poceo da radim na C#. Sintaksa se brzo savlada (recimo nedelju - dve), ostatak lezi u iskustvu i upoznavanju .NET frameworka. Ja nisam koristio nikakvu literaturu, koristio sam MSDN za framework. Mislim da je to sasvim dovoljno, jer sustina C# nije u sintaksi nego u poznavanju cega sve ima u frameworku (kao sto je MFC za C++).
Sto se tice stacka i heapa iz posta iznad, C# ima dve vrste podataka, value i reference tipove. Kao sto im i ime kaze, jedna kod jedne vrste se prenosi vrednost parametra, a kod druge adresa (referenca). Pored toga postoje i kljucne reci "ref" i "out" koje mozes koristiti za prenos parametara metoda. A vise o tome mozes procitati ovde:
http://dotnetjunkies.com/Tutor...2F-47DF-B41B-63FAED31ED23.dcik