C#, the new programming language from Microsoft has the power of C++ as it is developed with the basic concepts from C and C++. Besides being simple as VB, C# has some part of the Delphi features too and it is similar to Java in web related areas. It is also believed to be the best language for developing .NET applications.
The object oriented language was developed with Dane Anders Hejlsberg leading the project. Though C# was a Microsoft initiative, it was later approved by ECMA and ISO as a standard.
The design goals of C# were that it should be simple, object oriented and support for internationalization was considered to an important factor while designing C#. It was also expected to be used in all level of complexity, right from small stand alone function to large operating systems.
Even though C# was derived from the C++, there are lots of differences that could very well differentiate C# from C++. One such important difference is variable shadowing which is not found in C# but gives a lot of confusion in C++. Even though the memory used cannot be explicitly freed, it is effectively done by the automatic garbage collection concept in C#. The use of pointers is considered as UNSAFE in C# and thus such code should be marked so using an UNSAFE keyword.
It would be interesting for you to know that the Microsoft, before developing C#, tried to create a modified Java Environment naming it as J++, which went against the laws and Sun Microsystems filed a case against Microsoft for such action.
If we compare C# and another product of Microsoft VB.NET, a few basic differences can be identified. For example, there are static classes in C# but not in VB.NET. There are also a lot differences between the keywords used in them, where C# keywords designed to be familiar but those of VB.NETs to be more describing the role.