In order to explain Why C# is used for Xamarin? Let’s see if Java was fully supported in place of C# , then we would not be able to get the bunch of facilities that C# gives, not Java. The question that: Why C# is used for Xamarin? has the solid and quite reasonable answers
Generics of primitive types.
No checked exceptions. Hooray!
As of C# 4.0: the dynamic type, which is basically duck typing.
Besides all these, C# is so popular in web applications development.So the team of Xamarin thought to make this language more versatile that it could rule the mobile development industries and give the developers and users what they want.
It is a huge leap for the C# developers who were very anxious whether to keep programing in their .Net environment for web and network applications or to begin learning in java. The addiction of C# as an agile language wont encourage the developers to start something entirely new( in so many scenarios).
Xamarin has the best answer for C# development for Android or iPhone that makes them rock!!!