Yeh I personally have to say I prefer C#, the only real downfall is its lack of portability and the still somewhat limited distribution of the .NET framework on target computers. C++ is great if you after low level control, and extreme portability but I've always found it horribly overcompilcated and ofusicated for the job that its meant to do. C# is basically just a cleaned up version of C++ with a more cleaned up OOP approach, unlike C++'s rather messy OOP approach.
I mean, how come there is no multiple inheritance in C#? Or global variables? Or integer conditionals?
multiple inheritance = Use iterfaces, multiple ingeritance is rather unnecessaray and messy.
global variables = Just declare them in a static class, works the same, more tidy.
integer conditionals = What do you mean by that? I've never heard someone using that phrase before.