Hallöchen!

Bin kein Profiprogrammierer.. mach aber seit Jahren doch immer wieder die ein oder andere Entwicklung (VB, ASP, PHP, JSP).
Nur so viel zu mir.. und hier meine Frage:
Hab mal angefangen mich mit .NET (und C#) auseinanderzusetzen und vor das jetzt fortzusetzen und richtig anzugehen..

Eine Frage die mir schon länger am Herzen liegt bei der ganzen -NET Geschichte:
AFAIK sind doch bei .NET selbst die primitivsten Datentypen über das Framework definiert.. natürlich auch alle systemnahen Klassen und Objekte..
Wie dem auch sein, ich hab auch schon einiges von diesem "Mono" Projekt gehört, das eben versucht das .NET Framework 1:1 auf anderen (nicht MS) Plattformen zu adaptieren (und somit sollten .NET Anwendungen ja dann auf diesen laufen)..
Wie viel ist dran an der Plattformunabhängigkeit? Taugt das was? Muss man auf was achten? Oder hab ich da ohnehin schon was ganz falsch verstanden?