don't learn xamarin. it's a useless unmarketable skill. Nobody looks for xamarin devs, they look for platform specific devs
I'd say C# is worth learning if you have the opportunity. But agree it's better to invest time learning a specific platform like iOS or Android. Coupled with C#, you'll be in good shape to pick up any Xamarin project out there.