C# is excellent for fast and safe development for windows/web-applications
in general. It has a slight speed penalty, due to the overall supervision
and garbage collection. But in return you speed up coding many times and
don't have to worry about memory handling, and the overall logical
structure of .NET framework is far easier to understand than, say
Microsoft Foundation Class. Also, it requires .Net framework to be
installed on target machines for windows applications. Also, if memory is
an issue, .NET may be a bad choice since it uses more memory for
applications compared to non .NET programs.
As examples, you can use it to write anything ranging from fast Direct3D
games to e-commerce web-stores running on multiple servers and using
databases and high security.