Why C#?
Microsoft wanted to bring the flexibility and power of C/C++ to the ease and faster development time of Visual Basic.
Rapid development of software
Power to access all the functionality of the underlying platform
Ability to code at a low level when and if the need arises