There are a number of differences between C# and C++. I'll mention just a few of the key differences here.
Firstly, C++ programs compile down to machine code, which execute directly on the machine, whereas C# programs compile down to something called IL (Intermediate Language). IL is then executed by something called the CLR (Common Language Runtime). This fact brings us onto the second and probably biggest difference, which is memory management.
In C++ memory management is manual. References must be counted and disposed of manually. Failure to do so can lead to the age-old favourite: memory leaks. In C#, the CLR provides garbage-collection for you, so there's no need to worry about reference counting, pointers, etc, etc (although if you really want to mess with pointers you can using the
unsafe keyword)
Thirdly, C# supports only single inheritance, unlike C++ where multiple inheritance is allowed. (Of course, C# interfaces provide alternative functionality).
Fourth, C# provides support for metadata, that is the attachment of attributes to classes, properties and methods.
These are just some of the main differences, there are others and you can probably find some very good articles on
MSDN that give you more detail.