C# ist eine eigenständige Sprache, genau wie C++. Haben nur nichts miteinandern gemeinsam.
C# wurde ursprünglich von Microsoft Research entwickelt, wird jetzt aber primär nur noch von Microsoft Develop weiterbenutzt für die Anwendungsentwicklung (Microsoft Office 2007, Programme für Vista usw.)
Vorteile liegen auf der Hand: Portabel, da C# auf einer VM läuft (ergo: Geht auch unter Linux mit VM), Programme können nicht mehr oder nur noch sehr schwer zum Absturz führen, umfangreiche .NET Funktionalität, keine Kompatibilitätsprobleme uvm.
Nachteil ist jedoch weiterhin die VM: Sie ist zwar sehr schnell, jedoch noch lange nicht so schnell wie ein "reihnes" C++ Programm.
C# hat sich vorallem im Anwendungsbereich einen gigantischen Namen gemacht (Auch im Webbereich mit ASP.NET) und wird immer mehr gefördert. Im GameDev sieht es dort jedoch noch nicht besonders aus, hat aber mehrere Gründe, nicht nur das es auf einer VM läuft.
Alle aktuellen Programme von Microsoft werden mit C#.NET programmiert (Selbst der IE7 wird damit geschrieben) und die bekommt man gar nicht zum Absturz und können nicht das Betriebssystem beeintrechtigen, da es unter C# eine Rechteverwaltung gibt, im Gegensatz zu C++ oder anderen Sprachen.
Kurz: Ein Prozess hat zwar das Recht eine Datei zu schreiben, das bedeutet aber nicht, dass auch die Funktionen im Prozess die Dateien schreiben dürfen
Kurz: Ein unglaublich umfangreiches Rechtesystem (nicht nur für Dateien!)
Im Spielebereich wird es langsam aber sicher auch kommen, schreck war bisher immer nur die VM und die etwas instabile 1.1er Version.
Unterm Strich besser kann man sogesehen nicht sagen.
Klar im Anwendungsbereich ist C#.NET im Gegensatz zu C++ um Dimensionen wuchtiger (Denn darauf wurde es ausgelegt). Aber C++ hat auch spezielle Themen an die C# nicht dran kommt.
Die Zukunft sieht wie folgt aus: C# wird sich jetzt in Vista immer mehr auch im Anwendungsbereich ausbreiten und es werden auch ein paar C# games kommen, aber da wird mit großer Wahrscheinlichkeit noch mit C++ gebastelt