Ähm wie soll ichs sagen.
Diese beiden Sprachen sind komplett verschieden, mal abgesehen von der Sysntax. Währende C++ sowohl prozedural als auch objektorientiert ist, ist C# rein Objekt orientiert.
Wegen dem Lernen, würd ich sagen das C++ schwerer ist, aber das ist Geschmackssache.
Vorteile von C++ sind, das es nahezu überall benutzt wird, das es schon verdammt viele vorgefertigte Bibliotheken(dll´s) gibt und das damit Leistungsfähige 3D-Anwendungen gemacht werden können. C++ ist jedoch Plattformabhängig. Das heißt wenn unter Windows programmiert läufts auch nur unter Windows un nicht unter Linux oder so.
Vorteile von C# sind,
1. Plattformunabhängigkeit (bis jetzt nur teilweise wird aber dran gearbeitet)
2. Durch .NET CL-Norm , die problemlos andere Sprachen aus .Net nutzen können. Also kannst du was in VB.NET schreiben und in C#.Net einbinden.
3. Komplette Objektorientierung, da lernt mans wenigsten gleich richtig.
4. .NET wird sich warscheinlich durchsetzen und damit alle .NET Sprachen, alos auch C#
Der Nachteil ist das die Bibliothek, das Framework, zuzeit noch zu langsam ist um komplexe 3D-Anwendungen zu schaffen, aber um Arbeitsprogramme oder Spiele (auch komplexe) ohne übermäßige Grafik gehts schon.
Also wenn du irgendwas nicht verstehst, frag einfach.
Von wegen Objektorientierung,CL oder was .NET eigentlich wirklich ist.