It's a lot less code based (from the interface I'm working with), which takes a lot of the fun out of it, but if it's the future, then it's what I've got to learn so I can pass it onto the kids at work.
Many of the same principles and libraries apply, but I hear OpenGL isn't as easy to work with in C# as it is in C++. It's workable, but there's a lot more typing involved for some reason:http://stackoverflow.com/questions/536065/using-opengl-with-c
But apparently there are frameworks designed to use the current OpenGL libraries with C# without the extra fuss.
Much of the design interface details are stored within .cs files, so it's possible to edit the layout in code (which comes in handy sometimes, as the Properties pane doesn't show some of the useful properties, such as event handlers).
It's a lot like Flash 8, but without the emphasis on graphics, and with more capital letters on the start of each built-in method
And you can compile, which makes everything run faster when the project is finished.
The strict typing is tricky, but not difficult to get used to - Flash 8 didn't make a distinction between numerical types, and readily converted numbers to strings where needed, but C# inherits its type policy from C++, and if it makes things more efficient at runtime, then I'm willing to get used to it.
If you're used to C++, there's still plenty of life in the old language - it isn't dead yet. If you're new to programming, I'd recommend C#, as it's easier to use, and supports most of the same libraries quite readily, if my understanding is correct.