C#当然可以开发Android。微软的Xamarin就是针对android和ios平台推出的开发环境,vs2015和vs2017都支持。我以前的一个同事创业,他只对c#熟悉,就是使用的Xamarin开发了android和ios移动应用,而且顺利完成了项目。
其实很简单,就是因为利益。技术上不存在什么问题,.netfromework理论上也能安装在linux上。只是微软他为了自己的利益不这么做。
1、不管是java还是c#底层都是c++,只是微软战略的问题,技术实现上肯定没问题。
2、c#现在也跨平台,有vs这个智能开发工具,效率比java高,在非windows平台上,性能与java差不多,开发效率高于java。只是微软开源得晚。
3、再加上大数据平台很多套件基于java开发,所以近些年拉高了Java的市场。
4、很多高校不开c#课程了,所以c#新开发人员少了,导致部分公司转型为java。
总结而言,接下来看微软的开源策略和支持程度,加把劲的话,还可以把c#回到之前的市场。