What makes C# a great choice for test automation?

I want to know what makes C# a great choice for test automation. Can anyone please help me out.