Assembly > C++ > C# in raw performance.

C# > C++ > Assembly in ease of programing.

And since C# is very close to C++ in performance, you shouldn't worry about that. Often you ended up making cleaner faster program because it is easier using C# and gives your more time and less intimidation when trying to improve your program.

To me, C# for most apps and decent 3D games, C++ for extreme games and it is not limited to .Net platform.